#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. 排序算法 | 快速排序,算法的图解、实现、复杂度和稳定性分析与优化

    今天讲解一下快速排序算法的原理以及实现.复杂度和稳定性分析与优化 目录 1 快速排序的原理 2 快速排序代码实现 3 复杂度和稳定性分析.优化 4 习题练习 1 快速排序的原理 快速排序是所有内部排序 ...

  2. 排序算法 快速排序 python 0913

    排序算法 快速排序 python 0913 快速排序 思路 定义快排方法 接收参数:原始列表,起始位置,终止位置 判断是否符合快排条件,当起始下标与终止下标相等时,代表只有一个元素,无法排序,退出 一 ...

  3. 排序算法 快速排序【详细步骤图解】

    排序算法 快速排序[详细步骤图解] 快速排序 主要思想 图解 第一轮分割序列 第二轮分割序列 --- 左子序列 小结 第三轮分割序列 --- 右子序列 C++实现 总结 快速排序 给定一个序列:22 ...

  4. 【图解算法】排序算法——快速排序

    简介 首先还是得简单的介绍一下快速排序这个算法. 快速排序(Quicksort),又称划分交换排序(partition-exchange sort),一种排序算法,最早由东尼·霍尔提出.在平均状况下, ...

  5. JavaScript的排序算法——快速排序

    排序算法(Sorting algorithm)是计算机科学最古老.最基本的课题之一.要想成为合格的程序员,就必须理解和掌握各种排序算法. 快速排序(Quicksort)是对冒泡排序的一种改进. 快速排 ...

  6. 十大经典排序算法-快速排序算法详解

    十大经典排序算法 十大经典排序算法-冒泡排序算法详解 十大经典排序算法-选择排序算法详解 十大经典排序算法-插入排序算法详解 十大经典排序算法-希尔排序算法详解 十大经典排序算法-快速排序算法详解 十 ...

  7. 实现快速排序的算法_排序算法-快速排序

    快速排序是由东尼霍尔所发展的一种排序算法.在平均n个项目要Ο(nlogn) 次比较.在最坏状况下则需要 Ο(n2) 次比较,但这种状况并不常见.事实上,快速排序通常明显比其他 Ο(nlogn) 算法更 ...

  8. 排序算法--快速排序

    快速排序:快速排序(Quicksort)是对冒泡排序的一种改进.它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部 ...

  9. 快速排序 java导包_排序算法-快速排序(Java实现)

    上篇我们讲了冒泡排序,这次我们讲它的升级版快速排序,"快速",一看就是个好算法~ 快速排序(QuickSort)是啥? 我们先看下百度百科的介绍快速排序(Quicksort)是对冒 ...

  10. 用openAI写个js的排序算法(快速排序算法)

    文章目录 一.生成JS快速排序算法 二.openai还会给出调用方法 一.生成JS快速排序算法 这是一个通用的 JavaScript 排序算法.它使用的是快速排序算法. function sort(a ...

最新文章

  1. 水稻微生物组时间序列分析4-随机森林回归
  2. 【Python面试】 说说Python面向对象三大特性?
  3. FFT快速傅式变换算法halcon算子,持续更新
  4. ArcGIS实验教程——实验六:空间数据格式转换
  5. ubuntu的java环境变量_Ubuntu安装JDK与环境变量配置
  6. python安装email模块,python 3.4.0电子邮件包安装:ImportError:没有名为'cStringIO'的模块...
  7. 【转】linux时钟jiffies及其相关
  8. 如何使android应用开机时自动启动,如何使APP开机自启动
  9. 茜在人名可以读xi吗_带茜字的女孩名字
  10. pycharm配置连接服务器+python环境设置
  11. “重塑”—— 与ISV同行
  12. 福建农林大学计算机分数线,福建农林大学录取分数线2021是多少分(附历年录取分数线)...
  13. 问题沟通以及反馈的原则 - BEST
  14. vue 生命周期及watch、计算属性等等的理解
  15. Android 手机号格式验证(正则)
  16. python nameerror什么意思_我用Python编写的GTIN程序中的“NameError”是什么意思?
  17. ./config详解
  18. 解决Maven无法下载源代码包的问题
  19. 这是不是你在找的【电销帮手】——人机耦合佳信静默机器人
  20. 通用权限管理设计篇_设计模式

热门文章

  1. python mro c3_Python的MRO以及C3线性化算法
  2. solidworks工程图模板与图纸格式的区别_教你DWG如何导入为图纸格式
  3. 决策树(十二)--XGBoost
  4. 网易高并发优化 | 公开课-02
  5. opencv 识别长方形_利用opencv识别并提取图片中的矩形
  6. Hive union vs union all
  7. idea查找类 方法在哪里被使用
  8. 关于 gzip, deflate, zlib, LZ77
  9. weblogic部署启动时报错(weblogic.application.ModuleException)
  10. with grant option 与with admin option的区别