Реализация рекурсивного алгоритма сортировки выбором - C#

Узнай цену своей работы

Формулировка задачи:

Реализуйте рекурсивный алгоритм упорядочения по возрастанию заданного массива из n различных целых чисел методом сортировки выбором. Алгоритм сортировки выбором заключается в следующем: 1) Определить индекс наименьшего элемента массива 2) Поменять местами наименьший и первый элементы массива 3) Выполнить пункты 1 и 2 над остатком массива (массивом без первого элемента) Пункт 3 повторять, пока остаток массива не сократится до одного элемента Вот алгоритм сортировки
class Recurs_Sort
    {
        int n,max,k;
        public Recurs_Sort(int n)
        {
            this.n = n;
        }
        public int[] SortByChoose(int[] a, int n)
        {
            for (int i = n - 1; i > 0; i--)
            {
                k = i; max = a[i];
                for (int j = 0; j < i; j++)
                {
                    if (a[j] > max)
                    {
                        k = j;
                        max = a[j];
                    }
                }
                a[k] = a[i];
                a[i] = max;
            }
            return a;
        }
        public static void Print(int[] a)
        {
            for (int i = 0; i < a.Length; i++)
                Console.Write(a[i].ToString() + " ");
        }
    }
class Program
    {
        static void Main(string[] args)
        {
            int n = 10;
            int[] a = { 5, 13, 7, 9, 1, 8, 16, 4, 10, 2 };
            Recurs_Sort sortArray = new Recurs_Sort(n);
            sortArray.SortByChoose(a,n);
            Recurs_Sort.Print(sortArray.SortByChoose(a,n));
            Console.ReadLine();
        }
    }
как его сделать рекурсивным?

Решение задачи: «Реализация рекурсивного алгоритма сортировки выбором»

textual
Листинг программы
min = i;
 int tmp = arr[start];
 arr[start] = arr[min]
 arr[min] = tmp;

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


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

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

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