public class Main{
public static void main
(String[] args
){ int[] x = {6, 3, 1, 7, 0, 4, 8, 5, 2, 9};
quickSort(x, 0, 9);
for (int i = 0; i < x.length; i++){
}
}
//基本挿入法(クイックソート)
public static void quickSort(int[] arr, int left, int right){
if (left <= right) {
int p = arr[(left+right) / 2];
int l = left;
int r = right;
while(l <= r) {
while(arr[l] < p){ l++; }
while(arr[r] > p){ r--; }
if (l <= r) {
int tmp = arr[l];
arr[l] = arr[r];
arr[r] = tmp;
l++;
r--;
}
}
quickSort(arr, left, r);
quickSort(arr, l, right);
}
}
}
cHVibGljIGNsYXNzIE1haW57CiAgICBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbiAoU3RyaW5nW10gYXJncyl7CiAgICAgICAgaW50W10geCA9IHs2LCAzLCAxLCA3LCAwLCA0LCA4LCA1LCAyLCA5fTsKICAgICAgICBxdWlja1NvcnQoeCwgMCwgOSk7CiAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCB4Lmxlbmd0aDsgaSsrKXsKICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludCh4W2ldKTsKICAgICAgICB9CiAgICB9CiAgICAvL+WfuuacrOaMv+WFpeazle+8iOOCr+OCpOODg+OCr+OCveODvOODiO+8iQogICAgcHVibGljIHN0YXRpYyB2b2lkIHF1aWNrU29ydChpbnRbXSBhcnIsIGludCBsZWZ0LCBpbnQgcmlnaHQpewogICAgICAgIGlmIChsZWZ0IDw9IHJpZ2h0KSB7CiAgICAgICAgICAgIGludCBwID0gYXJyWyhsZWZ0K3JpZ2h0KSAvIDJdOwogICAgICAgICAgICBpbnQgbCA9IGxlZnQ7CiAgICAgICAgICAgIGludCByID0gcmlnaHQ7CiAgICAgICAgICAgIAogICAgICAgICAgICB3aGlsZShsIDw9IHIpIHsKICAgICAgICAgICAgICAgIHdoaWxlKGFycltsXSA8IHApeyBsKys7IH0KICAgICAgICAgICAgICAgIHdoaWxlKGFycltyXSA+IHApeyByLS07IH0KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgaWYgKGwgPD0gcikgewogICAgICAgICAgICAgICAgICAgIGludCB0bXAgPSBhcnJbbF07CiAgICAgICAgICAgICAgICAgICAgYXJyW2xdID0gYXJyW3JdOwogICAgICAgICAgICAgICAgICAgIGFycltyXSA9IHRtcDsKICAgICAgICAgICAgICAgICAgICBsKys7IAogICAgICAgICAgICAgICAgICAgIHItLTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgCiAgICAgICAgICAgIHF1aWNrU29ydChhcnIsIGxlZnQsIHIpOwogICAgICAgICAgICBxdWlja1NvcnQoYXJyLCBsLCByaWdodCk7CiAgICAgICAgfQogICAgfQp9