关注
public static void main(String[] args) {
int[] nums = {25,84,21,47,15,27,68,35,20};
mQuickSort(nums,0,nums.length-1);
}
public static void mQuickSort(int[] arr, int start, int end) {
if (start < end) {
int split = mPartition(arr,start,end);
mQuickSort(arr,start,split-1);
mQuickSort(arr,split+1,end);
}
}
public static int mPartition(int[] arr, int start, int end) {
int i = start+1;
int j = end;
while (i <= j) {
// 从后往前找到第一个比arr[start]小的元素
// 注意,这里不能是 j >= start,否则 j 的值可能为 start-1,最后的swap会出现错误!
while (j > start && arr[j] >= arr[start]) j--;
// 从前往后找到第一个比arr[start]大的元素
while (i <= end && arr[i] <= arr[start]) i++;
if (i < j) {
swap(arr,i,j);
}
}
swap(arr,start,j);
System.out.println(Arrays.toString(arr));
return j;
}
查看原帖
点赞 评论
相关推荐
查看7道真题和解析 点赞 评论 收藏
分享
03-03 21:32
上海电机学院 产品经理 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 没有面试的日子里,你在做什么 #
4760次浏览 113人参与
# 市场营销人求职交流聚集地 #
207554次浏览 1266人参与
# 华泰星战营,提前锁定校招offer #
9689次浏览 332人参与
# 实习时最怕听到的一句话 #
4870次浏览 56人参与
# 机械人还在等华为开奖吗? #
332406次浏览 1612人参与
# 你知道最慷慨和最抠的公司分别是 #
5168次浏览 44人参与
# 哪些AI项目值得做? #
4046次浏览 157人参与
# 简历上如何体现你的“AI”能力? #
3679次浏览 72人参与
# 你总挂在第__面? #
2333次浏览 27人参与
# 26届的你们有几段实习? #
178400次浏览 1110人参与
# 你简历上最心虚的一句话 #
10001次浏览 63人参与
# 找不到大厂实习可以去小厂吗? #
4659次浏览 36人参与
# 机械笔面试考察这些知识点 #
18364次浏览 140人参与
# 快消秋招求职进展汇总 #
11794次浏览 43人参与
# 嵌入式岗知多少 #
72847次浏览 578人参与
# 实习最晚的一次下班是几点 #
34518次浏览 167人参与
# 找工作的破防时刻 #
290764次浏览 2069人参与
# 一张图晒出你司的标语 #
12610次浏览 88人参与
# 考公VS就业,你怎么选? #
100919次浏览 535人参与
# 打工人的精神状态 #
150893次浏览 1549人参与
# 深信服求职进展汇总 #
269762次浏览 1834人参与