快速排序(O(nlogn))

public void quickSort(int[] array,int left,int right){
int l=left;
int r=right;
int mid=array[(left+right)/2];
int temp=0;
while(l<r){
while(array[l]<min){ //判断中轴数左边的数
l++;
}
while(array[r]>min){//判断中轴数右边的数
r--;
}
if(l>=r){
break;
}
temp=array[r];
array[r]=array[l];
array[l]=temp;
if(array[l]==mid){
r--;
}
if(array[r]==mid){
l--;
}
}
//一次排序后判断左右下标的值
if(l==r){
l++;
r--;
}
//向左递归
if(left<r){
quickSort(array,left,r);
}
//向右递归
if(l<right){
quickSort(array,l,right);
}
}

全部评论

相关推荐

11-13 20:16
已编辑
厦门理工学院 软件测试
专业嗎喽:硕佬,把学校背景放后面几段,学校背景双非还学院,让人看了就不想往下看。 把实习经历和个人奖项放前面,用数字化简述自己实习的成果和掌握的技能,比如负责项目一次通过率90%,曾4次发现项目潜在问题风险为公司减少损失等等
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务