【排序算法】快速排序
【摘要】
本篇文章来聊一聊快速排序,快速排序其实非常简单,但仍有很多同学不能理解,究其原因,是大家没能真正体会排序的原理,如果你对快速排序还不太了解,那么这篇文章你绝对不能错过。
基本思想
先说说快速...
本篇文章来聊一聊快速排序,快速排序其实非常简单,但仍有很多同学不能理解,究其原因,是大家没能真正体会排序的原理,如果你对快速排序还不太了解,那么这篇文章你绝对不能错过。
基本思想
先说说快速排序的基本思想:
- 任取一个元素为中心
- 将序列中所有比它小的元素放在其前面,比它大的元素放在其后面,从而形成两个子表
- 对两个子表分别做快速排序,直至子表中仅剩一个元素
图解排序过程
理解了思想后,我们通过图解来感受一下快速排序的全过程。
现有如下的一个序列:
如何对其进行快速排序呢?我们需要再准备一个等长的空序列,并将第一个元素49作为中心,然后分别与后面的元素进行比较。
比如第二个元素38小于49,则38应放在49的左边,这里我们就可以先将元素值49进行保存,然后将38放到空序列的首位:
接着比较,发现65大于49,则需将65放到空序列的末位:
继续比较,发现97大于49,则需将97也放到空序列的末位:
文章来源: blizzawang.blog.csdn.net,作者:·wangweijun,版权归原作者所有,如需转载,请联系作者。
原文链接:blizzawang.blog.csdn.net/article/details/105159562
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)