快速排序实践
来源:互联网 发布:js获取http请求状态码 编辑:程序博客网 时间:2024/04/29 16:47
最近想把一些基本的常用算法彻底弄懂,先从快速排序开刀吧
这段代码是在http://www.cnblogs.com/morewindows/archive/2011/08/13/2137415.html基础上进行重构而成的
#include <iostream>using namespace std;void quick_sort(int arr[], int left, int right);void main(){int aa[50] ={5,23,12,143,80,69,8,12,32,619, 15,23,312,413,30,26,8,212,72,119, 59,36,122,3,17,86,18,32,62,29, 25,29,1,243,40,6,118,52,11,19, 35,13,92,432,18,36,84,112,23,39,};quick_sort(aa,0,49);for(int i = 0 ; i<50; i++){cout<<aa[i]<<endl;}while(1);}//快速排序void quick_sort(int arr[], int left, int right){ if (left < right) { int le = left, ri = right, x = arr[left]; while(le < ri) { // 从右向左找第一个小于x的数 while(le < ri && arr[ri] >= x) ri--; if(le < ri) arr[le++] = arr[ri]; // 从左向右找第一个大于等于x的数 while(le < ri && arr[le] < x) le++; if(le < ri) arr[ri--] = arr[le]; } arr[le] = x;// 递归调用 quick_sort(arr, left, le - 1); quick_sort(arr, le + 1, right); }}
- 快速排序实践
- 快速排序实践
- 算法实践篇-快速排序
- python算法实践4-快速排序
- 算法学习与实践之快速排序
- 算法实践篇-快速排序-随机化版本
- java算法实践之快速排序
- 第16周实践项目-交换排序之快速排序
- 快速排序代码复用的方法(未实践)
- 软件编码实践之一(重写快速排序)
- 程序算法艺术与实践:稀尔排序、冒泡排序和快速排序
- Ruby学习之路——编程实践【3】 排序——快速排序
- 第十六周上机实践—项目1(2)—验证算法 希尔排序 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序!
- 快速排序
- 谭浩强c语言书中字符串函数原型的实现
- 委托可定义的位置和使用方法
- Linux系统下常见性能分析工具的使用
- Android NB700 :程序中动态设定组件的宽度、高度以及margin等属性 .
- c 内存分配
- 快速排序实践
- 回归自然
- @@ERROR和@@ROWCOUNT的用法
- java基础扫盲
- IOS atomic与nonatomic,assign,copy与retain的定义和区别
- 用Python做图像处理
- 你真的懂单链表吗
- #pragma once与 #ifndef的区别
- Oracle Demo库默认用户/密码为什么叫Scott/Tigger?