Сортировка по алгоритму randomized-quicksort - C#

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

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

Нужен код сортировки массива за алгоритмом сортировки randomized- quicksort. Не могу найти.

Решение задачи: «Сортировка по алгоритму randomized-quicksort»

textual
Листинг программы
  1. using System;
  2.  
  3. class QSort {
  4.     static void swap(int[]arr, int left, int right) {
  5.         int tmp = arr[left];
  6.         arr[left] = arr[right];
  7.         arr[right] = tmp;
  8.     }
  9.    
  10.     static void qsort(int[] arr, int left, int right) {
  11.         int i, last;
  12.        
  13.         if ( left >= right )
  14.             return;
  15.         swap(arr, left, (left + right) / 2);
  16.         last = left;
  17.        
  18.         for ( i = left + 1; i <= right; ++i )
  19.             if ( arr[i] <= arr[left] )
  20.                 swap(arr, ++last, i);
  21.        
  22.         swap(arr, left, last);
  23.         qsort(arr, left, last - 1);
  24.         qsort(arr, last + 1, right);
  25.     }
  26.    
  27.     public static void Main() {
  28.         int elementsCount = 20;
  29.         int[] arr = new int[elementsCount];
  30.         Random rnd = new Random();
  31.        
  32.         for ( int i = 0; i < elementsCount; ++i )
  33.             arr[i] = rnd.Next(0, 100);
  34.        
  35.         Console.WriteLine("Unsorted:");
  36.         foreach ( int n in arr )
  37.             Console.Write("{0,3}", n);
  38.         Console.WriteLine();
  39.        
  40.         qsort(arr, 0, elementsCount - 1);
  41.        
  42.         Console.WriteLine("Sorted:");
  43.         foreach ( int n in arr )
  44.             Console.Write("{0,3}", n);
  45.         Console.WriteLine();
  46.     }
  47. }

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


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

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

9   голосов , оценка 3.778 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы