Сортировка выбором - 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(' ');
- }
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д