[原创]快速排序(C++版)
快速排序时间复杂度:O(N*log2 N)空间复杂度:O(1)不稳定。
这个算法我试过针对单链表进行实现,但发现由于单链表从表尾反向遍历不方便,因此该算法不适合针对单链表进行实现,
下面我实现经典的场景:针对数组来实现该算法。
//划分阶段:选择一个基准数,通常选择开头的一个数, //然后以该基准数为基准进行划分:小于该基准数的放在该数左边,大于的放在该数右边。 //最后返回该基准数最终存放位置下标; int partition_(int A[], int low, int high){int p = A[low];while (low<high){while (low<high&&A[high] > p) high--;while (low<high&&A[low] < p) low++;if (low < high){swap(A[low], A[high]); if (A[low] == p&&A[high] == p)low++;}}A[low] = p;return low; }//递归调用进行快速排序 void quickSort(int A[], int low, int high){if (low < high){int pivotpos = partition_(A, low, high);quickSort(A,low,pivotpos -1);quickSort(A,pivotpos+1,high);} }
这里我只是用C++来实现了该算法,后面有机会我会写一篇java版的实现博文。
转载于:https://www.cnblogs.com/lordcheng/p/7326801.html
[原创]快速排序(C++版)相关推荐
- 高数重要极限证明原创中英文对照版
高数重要极限证明原创中英文对照版 重要极限 Important Limit 作者 赵天宇 Author:Panda Zhao 我今天想在这里证明高等数学中的一个重要极限: Today I want t ...
- 快速排序(C++版)
#include <iostream> #include <vector>using namespace std;void quickSort(vector<int> ...
- 快速排序 - python版超详细讲解
快速排序 快速排序(英语:Quicksort),又称划分交换排序(partition-exchange sort),通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所 ...
- WaveTone 2.67原创汉化版扒谱辅助教程
深度解析音频结构 精准扒谱,扒和弦分析! WaveTone 是音频后期制作,深度学习编曲的好助手! 汉化版支持中英文自由切换,重启应用程序生效! 支持导出主流音频Wav格式和MIDI键盘记录文件!可以 ...
- 软考-软件设计师笔记【原创无样式版】需要笔记请联系
越努力,越幸运!!! 计算机系统基础 (一)CPU的功能 (1)程序控制功能.CPU通过执行指令来控制程序的执行顺序. (2)操作控制. (3)时间控制. (4)数据处理.CPU最根本的任务. (二) ...
- php原创程序,在线伪原创程序php版
各位站长朋友想必都为网站内容原创的问题头疼吧,作为一个草根站长,要想自己写原创文章,那是不可能的,当然我不是说你一篇也写不出来.以个人站长的人力来说,写原创文章不太现实,光时间就是问题. 也许有的站长 ...
- 原创_移动版天邑TY1611_晶晨S905L3-B_RTL8822CS机顶盒免拆卡刷包及线刷机包刷机教程
今天作者跟大家分享一下关于移动TY1611机顶盒刷机教程, 此型号 分高安及非高安版本,所以下载固件包的时候请注意甄别: 下面我把主板拍给大家看下: 原创内容 请勿转载引用或修改后偷偷的用,一经发现 ...
- linux sys伪用户作用,【原创】Linux版 对sys用户进行审计的示例
更多精彩内容尽在 我们在操作数据库的时候,知道SYS用户的权限是最大的干什么事很方便,同时带来的问题就是非常危险,没有人可以束缚住.因此我们有时需要对SYS用户进行审计 SYS@LEO1>sho ...
- 北京地铁线路图纯算法附带求极权值(原创) 性能提升版
先上一张大家都看过而且熟悉的北京地铁线路图: 其中本人由于时间时间问题所以就写入了:昌平线,1,2,4,5,6,8,10,13共9条线路图: 接下来我说说我的思路 我的思路是这样的: 首先定义变量b, ...
最新文章
- 梅卡曼德机器人| 机器视觉算法、深度学习算法、软件开发等海量岗位
- A*寻路算法的探寻与改良(三)
- 如何设计一个高可用、高并发秒杀系统
- 【Python CheckiO 题解】I Love Python!
- CentOS 系统盘迁移
- Adjacent Bit Counts(01组合数)
- linux socket版本 can,linux socket can程序cantool
- 音视频录制基础原理概念
- 给你 2021 最酷网页设计指南!
- rom大小 stm32f205_最小的基于STM32F205VE的系统板
- 项目配置管理工具研究
- Auto.js找图找色常用功能
- 学堂在线android客户端,学堂在线学生登录入口app
- 服务器内网与外网的四大区别?
- STM32学习之Keil5软件配置
- 攻击方法与工业控制系统安全
- php 图片扭曲,把一张图片变形扭曲成各种不同的长宽
- Http 请求常见状态码报错(200/404/500)
- 全球与中国超高纯度热交换器市场深度研究分析报告
- 《振动力学基础与MATLAB应用》课后练习-第一章