【排序算法】快速排序-迭代方法
#include <iostream>using namespace std;void Quick_sort(int* arr, int low, int high) {if (high <= low) return;int i = low;int j = high + 1;int key = arr[low];while (true){/*从左向右找比key大的值*/while (arr[++i] < key){if (i == high) {break;}}/*从右向左找比key小的值*/while (arr[--j] > key){if (j == low) {break;}}if (i >= j) break;/*交换i,j对应的值*/int temp = arr[i];arr[i] = arr[j];arr[j] = temp;}/*中枢值与j对应值交换*/int temp = arr[low];arr[low] = arr[j];arr[j] = temp;Quick_sort(arr, low, j - 1);Quick_sort(arr, j + 1, high);
}int main()
{int a[] = { 57, 68, 59, 52, 72, 28, 96, 33, 24 };Quick_sort(a, 0, sizeof(a) / sizeof(a[0]) - 1);/*这里原文第三个参数要减1否则内存越界*/for (int i = 0; i < sizeof(a) / sizeof(a[0]); i++){cout << a[i] << " ";}cout << endl;return 0;
}/*参考数据结构p274(清华大学出版社,严蔚敏)*/
【排序算法】快速排序-迭代方法相关推荐
- 排序算法 | 快速排序,算法的图解、实现、复杂度和稳定性分析与优化
今天讲解一下快速排序算法的原理以及实现.复杂度和稳定性分析与优化 目录 1 快速排序的原理 2 快速排序代码实现 3 复杂度和稳定性分析.优化 4 习题练习 1 快速排序的原理 快速排序是所有内部排序 ...
- 排序算法 快速排序 python 0913
排序算法 快速排序 python 0913 快速排序 思路 定义快排方法 接收参数:原始列表,起始位置,终止位置 判断是否符合快排条件,当起始下标与终止下标相等时,代表只有一个元素,无法排序,退出 一 ...
- 排序算法 快速排序【详细步骤图解】
排序算法 快速排序[详细步骤图解] 快速排序 主要思想 图解 第一轮分割序列 第二轮分割序列 --- 左子序列 小结 第三轮分割序列 --- 右子序列 C++实现 总结 快速排序 给定一个序列:22 ...
- 【图解算法】排序算法——快速排序
简介 首先还是得简单的介绍一下快速排序这个算法. 快速排序(Quicksort),又称划分交换排序(partition-exchange sort),一种排序算法,最早由东尼·霍尔提出.在平均状况下, ...
- JavaScript的排序算法——快速排序
排序算法(Sorting algorithm)是计算机科学最古老.最基本的课题之一.要想成为合格的程序员,就必须理解和掌握各种排序算法. 快速排序(Quicksort)是对冒泡排序的一种改进. 快速排 ...
- 十大经典排序算法-快速排序算法详解
十大经典排序算法 十大经典排序算法-冒泡排序算法详解 十大经典排序算法-选择排序算法详解 十大经典排序算法-插入排序算法详解 十大经典排序算法-希尔排序算法详解 十大经典排序算法-快速排序算法详解 十 ...
- 实现快速排序的算法_排序算法-快速排序
快速排序是由东尼霍尔所发展的一种排序算法.在平均n个项目要Ο(nlogn) 次比较.在最坏状况下则需要 Ο(n2) 次比较,但这种状况并不常见.事实上,快速排序通常明显比其他 Ο(nlogn) 算法更 ...
- 排序算法--快速排序
快速排序:快速排序(Quicksort)是对冒泡排序的一种改进.它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部 ...
- 快速排序 java导包_排序算法-快速排序(Java实现)
上篇我们讲了冒泡排序,这次我们讲它的升级版快速排序,"快速",一看就是个好算法~ 快速排序(QuickSort)是啥? 我们先看下百度百科的介绍快速排序(Quicksort)是对冒 ...
- 用openAI写个js的排序算法(快速排序算法)
文章目录 一.生成JS快速排序算法 二.openai还会给出调用方法 一.生成JS快速排序算法 这是一个通用的 JavaScript 排序算法.它使用的是快速排序算法. function sort(a ...
最新文章
- 水稻微生物组时间序列分析4-随机森林回归
- 【Python面试】 说说Python面向对象三大特性?
- FFT快速傅式变换算法halcon算子,持续更新
- ArcGIS实验教程——实验六:空间数据格式转换
- ubuntu的java环境变量_Ubuntu安装JDK与环境变量配置
- python安装email模块,python 3.4.0电子邮件包安装:ImportError:没有名为'cStringIO'的模块...
- 【转】linux时钟jiffies及其相关
- 如何使android应用开机时自动启动,如何使APP开机自启动
- 茜在人名可以读xi吗_带茜字的女孩名字
- pycharm配置连接服务器+python环境设置
- “重塑”—— 与ISV同行
- 福建农林大学计算机分数线,福建农林大学录取分数线2021是多少分(附历年录取分数线)...
- 问题沟通以及反馈的原则 - BEST
- vue 生命周期及watch、计算属性等等的理解
- Android 手机号格式验证(正则)
- python nameerror什么意思_我用Python编写的GTIN程序中的“NameError”是什么意思?
- ./config详解
- 解决Maven无法下载源代码包的问题
- 这是不是你在找的【电销帮手】——人机耦合佳信静默机器人
- 通用权限管理设计篇_设计模式
热门文章
- python mro c3_Python的MRO以及C3线性化算法
- solidworks工程图模板与图纸格式的区别_教你DWG如何导入为图纸格式
- 决策树(十二)--XGBoost
- 网易高并发优化 | 公开课-02
- opencv 识别长方形_利用opencv识别并提取图片中的矩形
- Hive union vs union all
- idea查找类 方法在哪里被使用
- 关于 gzip, deflate, zlib, LZ77
- weblogic部署启动时报错(weblogic.application.ModuleException)
- with grant option 与with admin option的区别