then return RANDOMIZED-SELECT(A, p, q - 1, i)
9 else return RANDOMIZED-SELECT(A, q + 1, r, i - k)
实现代码如下...}
34 Swap(arr[i+1], arr[r]);
35 return i+1;
36 }
37
38 //寻找arr[p,r]中任意第k小的数
39 int RandomizedSelectMin...= nLeft + i;
43 if ((i+1)%5 == 0 || i == nLen - 1) {
44 nEnd = nLeft + i;
45...1;
62 while (i >= 0 && arr[i] > key) {
63 arr[i+1] = arr[i];
64 i...};
107 cout Select(arr, 0, 12, 11) << endl;
108 return 0;
109 }