您的位置:首页 > 其它

算法:记一次快速排序

2017-08-19 23:46 267 查看
public static void main(String[] args) {
int[] param = new int[]{1,-1,3,7,-2,8};
int[] res = sort(param,0,param.length-1);
for (int re : res) {
System.out.print(re);
}
}

private static int[] sort(int[] nums,int left,int right) {
if(left >= right){
return nums;
}
int l = left;int r = right;
int orign = nums[l];
while(l<r){
while(l<r&&orign<nums[r]){
r--;
}
if(l<r){
nums[l++] = nums[r];
}
while(l<r&& orign>nums[l]){
l++;
}
if(l<r){
nums[r--] = nums[l];
}
}
nums[l] = orign;
sort(nums,left,l-1);
sort(nums,l+1,right);
return nums;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  算法 快速排序