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