Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public static void main(String[] args)
- {
- var array = new[] { 17, 25, 77, 11, 24, 47, 73, 18 };
- QuickSort(array, 0, array.Length - 2, array.Length - 1);
- }
- public static void QuickSort(int[] array, int start, int end, int pivot)
- {
- if (start >= end) return;
- int leftScan = start;
- int rightScan = end;
- bool scannersMet = false;
- while (!scannersMet)
- {
- while (array[leftScan] < array[pivot])
- {
- leftScan++;
- }
- while (array[pivot] < array[rightScan])
- {
- rightScan--;
- }
- if (leftScan + 1 >= rightScan)
- {
- scannersMet = true;
- }
- else
- {
- int temp1 = array[leftScan];
- array[leftScan] = array[rightScan];
- array[rightScan] = temp1;
- }
- }
- int temp2 = array[pivot];
- array[pivot] = array[leftScan];
- array[leftScan] = temp2;
- QuickSort(array, start, leftScan - 1, leftScan - 1);
- QuickSort(array, leftScan + 1, end, end);
- }
Advertisement
Add Comment
Please, Sign In to add comment