Сортировка по алгоритму randomized-quicksort - C#
Формулировка задачи:
Нужен код сортировки массива за алгоритмом сортировки randomized- quicksort. Не могу найти.
Решение задачи: «Сортировка по алгоритму randomized-quicksort»
textual
Листинг программы
using System; class QSort { static void swap(int[]arr, int left, int right) { int tmp = arr[left]; arr[left] = arr[right]; arr[right] = tmp; } static void qsort(int[] arr, int left, int right) { int i, last; if ( left >= right ) return; swap(arr, left, (left + right) / 2); last = left; for ( i = left + 1; i <= right; ++i ) if ( arr[i] <= arr[left] ) swap(arr, ++last, i); swap(arr, left, last); qsort(arr, left, last - 1); qsort(arr, last + 1, right); } public static void Main() { int elementsCount = 20; int[] arr = new int[elementsCount]; Random rnd = new Random(); for ( int i = 0; i < elementsCount; ++i ) arr[i] = rnd.Next(0, 100); Console.WriteLine("Unsorted:"); foreach ( int n in arr ) Console.Write("{0,3}", n); Console.WriteLine(); qsort(arr, 0, elementsCount - 1); Console.WriteLine("Sorted:"); foreach ( int n in arr ) Console.Write("{0,3}", n); Console.WriteLine(); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д