1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| array: arr[]
// a: after sorting; num: index double[] a = new double[k]; int[] nums = new int[m]; for (int i = 0; i < m; ++i) { nums[i] = i; } for (int i = 0; i < k; ++i) { int index = i; for (int j = i; j < m; ++j) { if (arr[index] > arr[j]) { index = j; } } a[i] = arr[index]; double tmp1 = arr[i]; arr[i] = arr[index]; arr[index] = tmp1; int tmp2 = nums[i]; nums[i] = nums[index]; nums[index] = tmp2; }
|