Bubble Sort
Jump to navigation
Jump to search
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main()
{
// Определяем количество элементов в массиве
int ArrSize = 100;
// Создаем массив с заданным выше количеством элементов
int[] numbers = new int[ArrSize];
// Создаем объект генератора чисел
Random r = new Random();
// Этот цикл "проходит" по всем элементам массива
for (int i = 0; i < numbers.Length; i++)
{
// Генерируем случайное число и записываем в переменную CompNumber
int CompNumber = r.Next(1, 100);
// Записываем сгенерированное число в текущий элемент массива
numbers[i] = CompNumber;
}
// Распечатать несортированный массив
Console.WriteLine(string.Join(",", numbers));
Console.WriteLine();
// Этот цикл повторяется столько раз сколько содержится элементов в массиве
for (int i = 0; i < numbers.Length; i++) {
/* Этот цикл проходит по всем элементам массива, начиная с самого первого,
* сверяет соседние 2 элемента между собой и если первый элемент больше второго, то они меняются местами
*/
for (int j = 0; j < numbers.Length-1; j++)
{
if (numbers[j] > numbers[j+1])
{
// Записываем первый элемент массива во временную переменную, чтобы не потерять
int tmp = numbers[j];
// Переписываем первый элемент массива вторым элементом
numbers[j] = numbers[j+1];
// Восстанавлием значение из временной переменной tmp на место второго элемента
numbers[j+1] = tmp;
}
}
}
// Распечатать отсортированный массив
Console.WriteLine(string.Join(",", numbers));
Console.ReadLine();
}
}
}
Задание 1: Модифицировать программу таким образом, чтобы отсортированный массив выводился в обратном порядке
Задание 2: Вывести числа массива только один раз (например, массив 99, 89, 89, 70... должен выводиться как 99, 89, 70...)