| 12345678910111213141516171819202122232425262728293031 |
- public static void main(String[] args) {
- int len = 8000000;
- int[] a = new int[len];
- for (int i = 0; i < a.length; i++) {
- int t = (int) (Math.random() * 10000);
- a[i] = t;
- }
- }
- public static void sort(int left, int right, int[] arr) {
- int l = left;
- int r = right;
- int pivot = arr[(left + right) / 2];
- int temp = 0;
- while (l < r) {
- while (arr[l] < pivot) l++;
- while (arr[r] > pivot) r--;
- if (l >= r) bread;
- temp = arr[l];
- arr[l] = arr[r];
- arr[r] = temp;
- if (arr[l] == pivot) --r;
- if (arr[r] == pivot) ++l;
- }
- if (l == r) {
- l++;
- r--;
- }
- if (left < r) sort(left, r, arr);
- if (right > l) sort(l, right, arr);
- }
|