【19计科1班】C++快速排序

用户头像
来自上海海洋大学-姚慧杰发布于:2020-04-22 14:25:24

       快速排序相比于其他O(nlogn)的算法,大多数情况下都要更快,因为其内部循环在大部分框架上可以很有效率地达成。采用分而治之的思想,步骤如下:

  1.  挑选一个元素作为基准,通常为第一个元素;

  2. 从右往左找小于基准的元素,再从左往右找大于基准的元素,将两者交换位置;

  3. 重复步骤2直到 j = i,将当前元素与基准交换;

  4. 此时基准数将数列分割成为了两个长短不一的子数列,分别进行如上排序,直至排序完成。

代码写得很烂,请大家不要喷我。。。

  要注意在分割数列时,一定是先从右往左找小于等于基准的元素,否则可能会把大于基准的数放到基准数的左侧导致排序出错。

点赞 (1) 回复
1F 用户头像
来自上海海洋大学-刘犇发布于:2020-04-23 13:26:52

姚大佬tql99

加载更多
点击图片
取消
回复
2F 用户头像
来自上海海洋大学-王志成发布于:2020-07-20 17:47:56

学到了学到了

加载更多
点击图片
取消
回复
3F 用户头像
来自上海海洋大学-王垌发布于:2020-07-20 17:48:15
写的很好
加载更多
点击图片
取消
回复
4F 用户头像
来自上海海洋大学-柏彦阳发布于:2020-07-20 18:00:58
很详细的步骤啊,厉害
加载更多
点击图片
取消
回复
5F 用户头像
来自上海海洋大学-蔡昳卓发布于:2020-07-20 18:01:00

很细节

加载更多
点击图片
取消
回复
6F 用户头像
来自上海海洋大学-张雨晴发布于:2020-07-20 18:01:43
很详细的步骤
加载更多
点击图片
取消
回复
7F 用户头像
来自上海海洋大学-曾硕星发布于:2020-07-20 18:27:07
感谢分享
加载更多
点击图片
取消
回复
8F 用户头像
来自上海海洋大学-陈泓儒发布于:2020-07-20 18:33:37

讲得很好。

加载更多
点击图片
取消
回复
9F 用户头像
来自上海海洋大学-孙杨博发布于:2020-07-20 18:38:37

与算法导论中的插入排序思路一样!19

加载更多
点击图片
取消
回复
10F 用户头像
来自上海海洋大学-张海发布于:2020-07-20 18:42:38

这个算法学习了

加载更多
点击图片
取消
回复
11F 用户头像
来自上海海洋大学-李佳杭发布于:2020-07-20 20:37:08
感谢分享
加载更多
点击图片
取消
回复
12F 用户头像
来自上海海洋大学-生蕙语发布于:2020-07-20 20:44:39
学到了
加载更多
点击图片
取消
回复
发布回复
点击图片