Сортировка выбором - C# (182330)
Формулировка задачи:
Дана последовательность чисел a1, a2 , ..., an. Требуется расположить элементы по убыванию. Для этого в массиве, начиная с первого, выбирается наибольший элемент и ставится на первое место, а первый – на место наибольшего. Написать алгоритм сортировки выбором.
Решение задачи: «Сортировка выбором»
textual
Листинг программы
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Sort { class Program { static void Main() { // Считываем размер массива, // который необходимо отсортировать int size; size = Convert.ToInt32(Console.ReadLine()); // Динамически выделяем память под // хранение массива размера size int[] a = new int [size]; //считываем строку string str = Console.ReadLine(); //разбиваем по пробелам string[] mas = str.Split(' '); //парсим в массив for (int i = 0; i < size; i++) { a[i] = int.Parse(mas[i]); } int temp; for (int i = 0; i < size; i++) { // Найдем минимальный элемент на // промежутке индексов [i; size); // изначально его индекс равен i int minValueIndex = i; // Переберем оставшиеся элементы промежутка for (int j = i + 1; j < size; j++) { // Если элемент в позиции j меньше // элемента в позиции minValueIndex, то // необходимо обновить значение индекса if (a[j] < a[minValueIndex]) { minValueIndex = j; } } // Меняем текущий элемент с минимальным temp = a[i]; a[i] = a[minValueIndex]; a[minValueIndex] = temp; } // Выводим отсортированный массив for (int i = 0; i < size; i++) { Console.Write(a[i]); Console.Write(' '); } } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д