private void sort(Integer[] sums, int begin, int end) {
if (end - begin <= 1) {
return;
}
int watch = sums[begin];
int i = begin;
int j = end;
while (true) {
while (j > i && sums[j] > watch) {
j--;
}
sums[i] = sums[j];
while (i < j && sums[i] < watch) {
i++;
}
sums[j] = sums[i];
if (i == j) {
sums[i] = watch;
break;
}
}
sort(sums, begin, i - 1);
sort(sums, i + 1, end);
}
@Test
public void sortTest() {
Integer[] sums = new Integer[]{4, 6, 7, 3, 9, 1, 2, 11};
sort(sums, 0, sums.length - 1);
System.out.println(Arrays.toString(sums));
}
```