Сортировка обменом (пузырьковая) - C#
Формулировка задачи:
Ребята, помогите!
Надо сделать так, чтобы программа не выполняла лишних действий.
А именно чтобы элементы, которые ушли в "конец" массива не сравнивались в дальнейшем с остальными, как то так)
ЧТобы доказать это, надо через консоль вывести количество выполненных сравнений.
вот код программы.
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Lab_4 { class Program { static void Main() { Console.WriteLine("Сортировка обменом"); Console.Write("Введите размер массива: "); int i, j, c; int n = Convert.ToInt32(Console.ReadLine()); int[] array = new int[n]; Random random = new Random(); Console.WriteLine("Исходный массив"); for (i = 0; i < n; i++) { array[i] = random.Next(0, 50); Console.Write(array[i] + " "); } Console.WriteLine(); for (i = 0; i < n - 1; i++) { for (j = 0; j < (n-1-i); j++) { if (array[j] > array[j+1]) { c = array[j]; array[j] = array[j+1]; array[j+1] = c; } } } Console.WriteLine("Отсортированный массив."); for (i = 0; i < n; i++) { Console.Write(array[i] + " "); } Console.ReadKey(); } } }
Решение задачи: «Сортировка обменом (пузырьковая)»
textual
Листинг программы
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Lab_4 { class Program { static void Main() { Console.WriteLine("Сортировка обменом"); Console.Write("Введите размер массива: "); int i, j, c,; int kolvo = 0; int n = Convert.ToInt32(Console.ReadLine()); int[] array = new int[n]; Random random = new Random(); Console.WriteLine("Исходный массив"); for (i = 0; i < n; i++) { array[i] = random.Next(0, 50); Console.Write(array[i] + " "); } Console.WriteLine(); for (i = 0; i < n - 1; i++) { for (j = 0; j < (n-1-i); j++) { kolvo++; // количество сравнений if (array[j] > array[j+1]) { c = array[j]; array[j] = array[j+1]; array[j+1] = c; } } } Console.WriteLine("Отсортированный массив."); for (i = 0; i < n; i++) { Console.Write(array[i] + " "); } Console.Write("количество сравнений =" + kolvo ); Console.ReadKey(); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д