快速排序递归算法java
时间: 2023-11-08 20:01:02 浏览: 85
快排序是一种使用递归原理的排序算法,其平均性能在所有O(n log n)数量级的排序方法中最好。它将待排序的数组分成两部分,一部分是小于锚点的元素,另一部分是大于等于锚点的元素,然后递归地对这两部分进行快速排序。下面是一个使用递归实现的快速排序的Java代码:
```java
private void quickSort(int[] arr, int startPos, int endPos){
if(startPos >= endPos){
return;
}
int leftIndex = startPos;
int rightIndex = endPos;
int mid = arr[leftIndex];
while (leftIndex < rightIndex){
while (leftIndex < rightIndex && arr[rightIndex] >= mid){
rightIndex--;
}
arr[leftIndex] = arr[rightIndex];
while (leftIndex < rightIndex && arr[leftIndex] < mid){
leftIndex++;
}
arr[rightIndex] = arr[leftIndex];
}
arr[leftIndex] = mid;
quickSort(arr, startPos, leftIndex-1);
quickSort(arr, leftIndex+1, endPos);
}
```
阅读全文