快速排序
来源:互联网 发布:离线背单词软件 编辑:程序博客网 时间:2024/06/05 14:45
快速排序看起来很复杂的样子,其实很简单:
通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。
#include<bits/stdc++.h>using namespace std;void quickSort(int s[], int l, int r){ if (l< r) { int i = l, j = r, x = s[l]; while (i < j) { while(i < j && s[j]>= x) // 从右向左找第一个小于x的数 j--; if(i < j) s[i++] = s[j]; while(i < j && s[i]< x) // 从左向右找第一个大于等于x的数 i++; if(i < j) s[j--] = s[i]; } s[i] = x; quickSort(s, l, i - 1); // 递归调用 quickSort(s, i + 1, r); }}int main(){ int array[]={34,65,12,43,67,5,78,10,3,70},k; int len=sizeof(array)/sizeof(int); cout<<"The orginal arrayare:"<<endl; for(k=0;k<len;k++) cout<<array[k]<<","; cout<<endl; quickSort(array,0,len-1); cout<<"The sorted arrayare:"<<endl; for(k=0;k<len;k++) cout<<array[k]<<","; cout<<endl; system("pause"); return 0;}
阅读全文
0 0
- 快速排序
- 快速排序
- 快速排序
- 快速排序!
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- display:flex 意思是弹性布局
- UDPSender 一个基于NIO的UDP发送器/接收器
- 随笔(mybatis)——Error getting nested result map values for ''.
- TCP为什么是三次握手?
- OpenGL蓝宝书源码学习(八)第四章——SphereWorld.cpp
- 快速排序
- C++的RMQ的代码实现
- hadoop学习笔记--6.MapReduce的初识
- 阿里巴巴云服务器ECS外网无法访问IIS
- java中四种引用类型
- TensorFlow的训练模型在Android和Java的应用及调用
- maven搜索jar包, Index downloads are disabled, search results may be incomplete
- 在树莓派上利用神经网络字符识别实现智能送餐车
- mysql数据库性能测试工具-----mysqlslap