Advertisement
Margoshinka

Untitled

Oct 12th, 2022
471
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 0.89 KB | None | 0 0
  1.  static  int Partition(int[] array, int start, int end)
  2.         {
  3.             int marker = start; // divides left and right subarrays
  4.             for (int i = start; i < end; i++)
  5.             {
  6.                 if (array[i] < array[end]) // array[end] is pivot
  7.                 {
  8.                     (array[marker], array[i]) = (array[i], array[marker]);
  9.                     marker += 1;
  10.                 }
  11.             }
  12.             // put pivot(array[end]) between left and right subarrays
  13.             (array[marker], array[end]) = (array[end], array[marker]);
  14.             return marker;
  15.         }
  16.  
  17.         static void Quicksort1(int[] array, int start, int end)
  18.         {
  19.             if (start >= end)
  20.                 return;
  21.  
  22.             int pivot = Partition(array, start, end);
  23.             Quicksort1(array, start, pivot - 1);
  24.             Quicksort1(array, pivot + 1, end);
  25.         }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement