【快速排序】
1.开门见山
如上图,只要将所有元素都放到“正确的位置”,那么排序就算完成了。
2.介绍
核心思想是分治。分治分治,分而治之。
快速排序不稳定。但是它的另一个亲兄弟“归并排序”是稳定的。
何谓稳定性?
下图是个”不稳定“的例子
相同的两个元素,在经过排序后,它俩的相对位置不变,那么就称此排序算法具有稳定性。
3.核心代码图解
4.完整模板
void quick_sort(int a[],int l,int r){ int x=a[l+r>>1]; int i=l-1,j=r+1; if (l>=r) { return; } while(i<j) { do { i++; } while (a[i]<x); do { j--; } while (a[j]>x); if(i<j)swap(a[i],a[j]); } quick_sort(a,l,j); quick_sort(a,j+1,r); }
posted on 2023-04-11 23:53 ShinnyBlue 阅读(42) 评论(0) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话