Сортировка по алгоритму 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();
    }
}

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


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

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

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