快排可视化
2023-12-26 06:03:19
1. 结果
红色为被选中的pt
1.1 结果图
1.2 动画图
1个pt排好序后就把该pt标红
2. 代码
2.1 快排代码
private Integer selPt(List<Integer> list, int left, int right) {
if (left >= right) {
return left;
}
int ptVal = list.get(left);
int l =left, r=right;
while (l < r) {
while (l < r && list.get(r) > ptVal) {
r--;
}
while (l < r && list.get(l) <= ptVal) {
l++;
}
if (l < r) {
int t = list.get(l);
list.set(l, list.get(r));
list.set(r, t);
}
}
list.set(left, list.get(l));
list.set(l, ptVal);
return l;
}
public void quickSort(List<Integer> list, int l, int r) {
if (l >= r) {
return;
}
int pt = selPt(list, l, r);
quickSort(list, l, pt-1);
quickSort(list, pt+1, r);
}
2.2 绘图代码
参照 冒泡排序可视化
要想实现结果图中代码 需要稍加改造 选出来pt后指定该pt位置的颜色
文章来源:https://blog.csdn.net/zslngu/article/details/135212017
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!