两种风格的快速排序 Quick Sort
啊哈算法中的quick_sort.cpp
//
// Created by jal on 18-9-2.
//
#include <bits/stdc++.h>using namespace std;void quick_sort(int*a, int left, int right){if(left > right){return;}int j = right;int i = left;while(i != j){while(a[j] >= a[left] && i < j)j--;while(a[i] <= a[left] && i < j)i++;if(i < j){swap(a[i],a[j]);}}swap(a[left], a[j]);quick_sort(a, left, j-1);quick_sort(a, j+1, right);
}
int main() {int a[10] = {4, 3, 5, 3, 6, 1, 2, 9, 8, 7};int len = sizeof(a) / sizeof(a[0]);quick_sort(a,0, len-1);copy(a, a + len, ostream_iterator<int>(cout, " "));
}
慕课网中的quick_sort.cpp
//
// Created by jal on 18-9-2.
//
#include <bits/stdc++.h>using namespace std;int partion(int *a,int left,int right){int key = a[left];int i = left;for(int j = i+1; j <= right; j++){if(a[j] < key){swap(a[i+1], a[j]);i++;}}swap(a[left], a[i]);return i;
}void quick_sort(int*a, int left, int right){if(left >= right){return;}int p = partion(a, left, right);quick_sort(a, left, p-1);quick_sort(a, p+1, right);
}int main() {int a[10] = {4, 3, 5, 3, 6, 1, 2, 9, 8, 7};int len = sizeof(a) / sizeof(a[0]);quick_sort(a,0, len-1);copy(a, a + len, ostream_iterator<int>(cout, " "));
}
两种风格的快速排序 Quick Sort相关推荐
- 快速排序 Quick Sort
快速排序 Quick Sort 我们已经知道,在决策树计算模型下,任何一个基于比较来确定两个元素相对位置的排序算法需要Ω(nlogn)计算时间.如果我们能设计一个需要O(n1ogn)时间的排序算法,则 ...
- Golang TDD实践报告:快速排序Quick Sort
Golang TDD实践报告:快速排序Quick Sort [阅读时间:约5分钟] 0.项目需求 1.编写符合项目输入输出的一个测试 2.尝试运行测试 3.先使用最少的代码来让失败的测试先跑起来 4. ...
- 【排序算法】快速排序(Quick Sort)
快速排序(Quick Sort)使用分治法算法思想. 快速排序介绍 它的基本思想是: 选择一个基准数,通过一趟排序将要排序的数据分割成独立的两部分:其中一部分的所有数据都比另外一部分的所有数据都要小. ...
- C语言快速排序 quick sort 算法(附完整源码)
快速排序 quick sort 算法 快速排序 quick sort 算法的完整源码(定义,实现,main函数测试) 快速排序 quick sort 算法的完整源码(定义,实现,main函数测试) # ...
- IDEA亮暗两种风格转换
如题,两种工具有亮暗两种风格,设置步骤如下 步骤: 1.打开IntelliJ IDEA,点击[File] 2.点击[Settings],或者快捷键[Ctrl+Alt+s] 3.点击[Appearanc ...
- 介绍两种风格的URL
两种风格的"动态资源"--统一资源定位符(Uniform Resource Lactor,URL) 当前互联网上主要有两种主要风格的URL: 第一种直接在URL中知名文件(比如xx ...
- 【参赛作品37】openGauss/MogDB数据库函数创建的两种风格
作者:彭冲 PostgreSQL风格 create or replace function months_between() returns number as $function$ beginret ...
- Java实现快速排序 Quick Sort
本文带来八大排序算法之快速排序算法. 快速排序(QuickSort)是对冒泡排序的一种改进.基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另一部分的所有数据都要小, ...
- 快速排序 (Quick Sort)(Java实现)
快速排序(Quicksort)是对冒泡排序的一种改进,借用了分治的思想,由C. A. R. Hoare在1962年提出. 1.基本思想 快速排序的基本思想:挖坑填数+分治法. 首先选一个轴值(pivo ...
最新文章
- 脚本中export不起作用的原因分析
- 1402 后缀数组 (hash+二分)
- python3菜鸟教程中文-Python3 数据结构
- 机器人学习--ROS/AMCL实现初始化粒子撒满整张地图和分步收敛
- 《MySQL——join语句优化tips》
- 遇到这个工具前我都是建议文章写好就先投Cell?
- Arcgis Engine矢量裁剪栅格,调用Mask工具相关代码
- 深度学习2.08.tensorflow的高阶操作之张量排序
- Daemon Process
- [4K测试视频] 杜比4K UHD蓝光演示碟 Dolby.UHD.BluRay.Demo.Disc.March.2018.2160p.BluRay下载
- java bitmap位图_BitMap位图与海量数据的理解
- java excel公式计算_java中Excel公式的计算和函数,实例展示
- android其实很简单 -- roaster 以代码构建代码
- 分解三范式和BC范式
- HTML5+CSS3选择器
- 信息化和软件服务业司参加工业互联网平台与软件化发展高峰论坛
- 多基线干涉仪系统测向误差分析
- 【异步系列二】Promise原理及执行顺序详解
- 20190411-cpp-compiler
- mysql中的回车换行,jtable换行,自动调整行高,列宽 \r \n br/
热门文章
- 重场景轻应用,联想企业网盘驱动信托业办公模式变革
- 数字/模拟转换(DAC)
- MSI-B560M-BOMBER i5-10400 核显 电脑 Hackintosh 黑苹果efi引导文件
- 冰枫论坛android,Android Ril 分析
- 树莓派入门教程—raspberry pi
- XP系统计算机小游戏,删除XP系统附件中的小游戏方法
- 大地 Windows 7 Sp1 (2011新春)正式版
- 高考415分能上计算机网络的学校吗,2021年高考415分文科能上什么学校 文科415分左右的大学有哪些...
- csgo云计算机,csgo云服务器是什么
- 调查报告:竞业协议应该怎么签