本文主要是介绍Java快排,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
public static void quickSort(int[] arr, int start, int end){
//递归退出条件
if(start>=end){
return;
}
int i,j,temp;
i = start;//i为头指针
j = end;//j为尾指针
temp = arr[start];//temp为轴元素
while(i<j){
//j指针先动,找到比轴元素小的元素
while(i<j && arr[j]>=temp){
j--;
}
while(i<j && arr[i]<=temp){
i++;
}
if(i<j){
arr[i]=arr[i]^arr[j];
arr[j]=arr[i]^arr[j];
arr[i]=arr[i]^arr[j];
}
}
arr[start] = arr[i];
arr[i] = temp;
quickSort(arr,j+1,end);
quickSort(arr,start,j-1);
}
这篇关于Java快排的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!