Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- static void quickSort1(int[] array, int start, int end)
- {
- int i = start, j = end-1; // поставить указатели на исходные места
- int p = array[(start + end)/2];
- int temp;
- // процедура разделения
- do
- {
- while (array[i] < p) i++;
- while (array[j] > p) j--;
- if (i <= j)
- {
- temp = array[i]; array[i] = array[j]; array[j] = temp;
- i++; j--;
- }
- } while (i <= j);
- if (j > 0) quickSort1(array, start, j);
- if (end > i) quickSort1(array, start + i, end-i);
- }
- static void quickSort2(int[] array, int start, int end)
- {
- int i = start, j = end-1; // поставить указатели на исходные места
- int p = array[1];
- int temp;
- // процедура разделения
- do
- {
- while (array[i] < p) i++;
- while (array[j] > p) j--;
- if (i <= j)
- {
- temp = array[i]; array[i] = array[j]; array[j] = temp;
- i++; j--;
- }
- } while (i <= j);
- if (j > 0) quickSort2(array, start, j);
- if (end > i) quickSort2(array, start + i, end-i);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement