Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- static int Partition(int[] array, int start, int end)
- {
- int marker = start; // divides left and right subarrays
- for (int i = start; i < end; i++)
- {
- if (array[i] < array[end]) // array[end] is pivot
- {
- (array[marker], array[i]) = (array[i], array[marker]);
- marker += 1;
- }
- }
- // put pivot(array[end]) between left and right subarrays
- (array[marker], array[end]) = (array[end], array[marker]);
- return marker;
- }
- static void Quicksort1(int[] array, int start, int end)
- {
- if (start >= end)
- return;
- int pivot = Partition(array, start, end);
- Quicksort1(array, start, pivot - 1);
- Quicksort1(array, pivot + 1, end);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement