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