Сортировка выбором - 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(' ');
            }
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.7 из 5
Похожие ответы