Сортировка обменами - C#
Формулировка задачи:
Сортировка обменами. 1)Дана последовательность чисел a1, a2 , ..., an. Требуется представить числа в порядке возрастания. Для этого сравниваются два соседних числа ai и ai +1. Если ai > ai +1, то делается перестановка. Так продолжается до тех пор, пока все элементы не будут расположены в порядке возрастания. Составить алгоритм сортировки, подсчитывая при этом количество перестановок.
2)Даны два массива. Массив А состоит из N элементов и отсортирован по возрастанию. Массив В состоит из М элементов и отсортирован по убыванию. Разработать программу для слияния этих массивов в отсортированный по убыванию массив С, не содержащий одинаковых элементов.
Решение задачи: «Сортировка обменами»
textual
Листинг программы
Random random = new Random();
int[] a = new int[10];
for (int i = 0; i < a.Length; i++)
{
a[i] = random.Next(0, 100);
Console.Write(a[i] + " ");
}
bool flag = true;
Console.WriteLine();
int numshuffle = 0;
while (flag)
{
flag = false;
for (int i = 0; i < a.Length - 1; i++)
if (a[i] > a[i + 1])
{
int b = a[i];
a[i] = a[i + 1];
a[i + 1] = b;
flag = true;
numshuffle++;
}
}
Console.Write(numshuffle+"\n");
for (int i = 0; i < a.Length; i++)
Console.Write(a[i] + " ");
Console.ReadKey(true);