Quicksort Java
java\nint[] A;\nint[] sortArray(int[] A) {\n\tthis.A = A;\n\tsort(0, A.length - 1);\n\treturn A;\n}\nvoid sort(int l, int r) {\n\tif (l >= r) return;\n\tint p =
```java\nint[] A;\nint[] sortArray(int[] A) {\n\tthis.A = A;\n\tsort(0, A.length - 1);\n\treturn A;\n}\nvoid sort(int l, int r) {\n\tif (l >= r) return;\n\tint p = part(l, r);\n\tsort(l, p - 1);\n\tsort(p + 1, r);\n}\nint part(int l, int r) {\n\tint p = A[r];\n\tint i = l - 1;\n\tfor (int j = i + 1; j < r; ++j)\n\t\tif (A[j] < p)\n\t\t\tswap(++i, j);\n\tswap(i + 1, r);\n\treturn i + 1;\n}\nvoid swap(int i, int j) {\n\tint t = A[i];\n\tA[i] = A[j];\n\tA[j] = t;\n}\n```
[]