一、学习要点:
1.利用递归分治的思想;
2.利用挖坑的思想,调整数组左边的元素一直小于某一个数,数组右边的数一直大于某一个数;
3.详细原理说明:
https://blog.csdn.net/MoreWindows/article/details/6684558
二、代码

#include<stdlib.h>
#include<iostream>
sing namespace std;
void quick_sort(int a[],int l,int r)
{if(r>l){int i=l,j=r,x=a[0];while(j>i&&a[j]>=x){j--;}if(j>i){a[i++]=a[j];}while(i<j&&a[i]<x){i++;}if(i<j){a[j--]=a[i]}a[i]=x;quick_sort(a,l,i-1);quick_sort(a,i+1,r);}
}
int main()
{int a[20] = { 5,6,8,3,2,4,1,7,9,10,11,19,12,18,13,17,14,16,15,30 };quick_sort(a,0,19);for(int i=0;i<20;i++){cout<<a[i]<<endl;}system("pause");return 0;
}

三、运行结果:

快速排序(quick sort)相关推荐

  1. Golang TDD实践报告:快速排序Quick Sort

    Golang TDD实践报告:快速排序Quick Sort [阅读时间:约5分钟] 0.项目需求 1.编写符合项目输入输出的一个测试 2.尝试运行测试 3.先使用最少的代码来让失败的测试先跑起来 4. ...

  2. C语言快速排序 quick sort 算法(附完整源码)

    快速排序 quick sort 算法 快速排序 quick sort 算法的完整源码(定义,实现,main函数测试) 快速排序 quick sort 算法的完整源码(定义,实现,main函数测试) # ...

  3. 快速排序 Quick Sort

    快速排序 Quick Sort 我们已经知道,在决策树计算模型下,任何一个基于比较来确定两个元素相对位置的排序算法需要Ω(nlogn)计算时间.如果我们能设计一个需要O(n1ogn)时间的排序算法,则 ...

  4. 【排序算法】快速排序(Quick Sort)

    快速排序(Quick Sort)使用分治法算法思想. 快速排序介绍 它的基本思想是: 选择一个基准数,通过一趟排序将要排序的数据分割成独立的两部分:其中一部分的所有数据都比另外一部分的所有数据都要小. ...

  5. 快速排序quick sort

    一.快速排序的基本思想: 1.在集合中找一个数作为基准数: 2.集合分为三部分:左分区.基准数.右分区,其中左分区的数都小于等于基准数,右分区的数都大于等于基准数: 3.分别对左分区.右分区执行第2步 ...

  6. Java实现快速排序 Quick Sort

    本文带来八大排序算法之快速排序算法. 快速排序(QuickSort)是对冒泡排序的一种改进.基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另一部分的所有数据都要小, ...

  7. 基础算法之快速排序Quick Sort

    原理 快速排序(Quicksort)是对冒泡排序的一种改进. 从数列中挑出一个元素,称为"基准"(pivot); 排序数列,所有元素比基准值小的摆放在基准前面,所有元素比基准值大的 ...

  8. 快速排序 (Quick Sort)(Java实现)

    快速排序(Quicksort)是对冒泡排序的一种改进,借用了分治的思想,由C. A. R. Hoare在1962年提出. 1.基本思想 快速排序的基本思想:挖坑填数+分治法. 首先选一个轴值(pivo ...

  9. 两种风格的快速排序 Quick Sort

    啊哈算法中的quick_sort.cpp // // Created by jal on 18-9-2. // #include <bits/stdc++.h>using namespac ...

  10. 图解快排——快速排序算法(quick sort)

    快速排序 quick sort 算法思想 算法图解 算法实现(C语言) 性能分析 算法思想 快速排序算法是对冒泡排序算法的一种改进算法,在当前所有内部排序算法中,快速排序算法被认为是最好的排序算法之一 ...

最新文章

  1. c#和mysql之间的类型_【SqlServer数据类型、C#数据类型、SqlDbType】对应关系及转换...
  2. day04-视图/配置文件/静态文件的基本使用
  3. Day2_CSS_CSS语法及HTML结合
  4. 用pulse generator产生脉冲信号
  5. 基于 Spring Boot 的车牌识别系统(附项目地址)ba
  6. 如何选择物联网软件开发供应商
  7. man:命令帮助使用手册
  8. VS2012连接数据库问题
  9. pip 清华大学镜像_pip源很慢,更改成清华的镜像地址
  10. mysql 查询一个数据库里面有多少张数据表
  11. Gauss-Seidel迭代法解线性方程组
  12. IPhone多视图切换
  13. 非线性回归分析及其Matlab实现
  14. debian 笔记本 准系统 RTL8822BE 8723 8192 8188 8168 8111 8107 8821-22 等PCIE 无线网卡蓝牙驱动安装
  15. Matlab机器人工具箱(3-4):五自由度机械臂(计算力矩控制方法与roblocks)
  16. 数据结构(C语言)Learning Way
  17. 每日一思(2022.5.6)——非理性行为
  18. SD/MMC 卡读写模块---SD/MMC 卡的外部物理接口
  19. 有哪些好用的ocr软件?分享两个
  20. XY51S03B蓝牙5.1芯片OBU方案

热门文章

  1. boost::lambda模块ll_static_cast,ll_dynamic_cast,ll_const_cast,ll_reinterpret_cast的测试程序
  2. boost::gregorian模块实现测试当天的程序
  3. Boost::context模块fiber的stack测试程序
  4. ITK:拉普拉斯递归高斯图像滤波器
  5. ITK:遍历具有成形邻域的图像区域
  6. DCMTK:类DcmPersonName的测试程序
  7. VTK:图片之ImageThreshold
  8. VTK:图片之FillWindow
  9. C++Eratosthenes埃氏筛法获取素数列表的实现算法(附完整源码)
  10. QT绘制带有负条的条形图。