五大常用算法(一) 分治算法(5) 快速排序
来源:互联网 发布:淘宝安全证书下载 编辑:程序博客网 时间:2024/06/16 14:36
参考自:
http://baike.baidu.com/view/19016.htm?fromId=115472
#include <iostream>using namespace std;void quick(int a[],int left,int right){ if(left >= right) return; int i = left; int j = right; int temp; int key = a[(left+right)/2]; while(true){ while(a[j] > key)//不能使用<=,有可能导致前半部分二次排序不起作用 j--; while(a[i] < key) i++; if(i >= j) break; temp = a[i]; a[i] = a[j]; a[j] = temp; } quick(a,left,j);//取j不取i,因为后走的i有可能超过了j quick(a,j+1,right);}int main(){ int a[10]; for(int i = 0; i < 10; i++) cin >> a[i]; quick(a,0,9); for(int i = 0; i < 10; i++) cout << a[i]<< " "; cout << endl; return 0;}
- 五大常用算法(一) 分治算法(5) 快速排序
- 五大常用算法(一) 分治算法
- 五大常用算法(一)分治算法
- 五大常用算法(一) 分治算法(2) 大整数乘法
- 五大常用算法之一:分治算法
- 五大常用算法之一:分治算法
- 五大常用算法之一:分治算法
- 五大常用算法之一:分治算法
- 五大常用算法之一:分治算法
- 五大常用算法之一:分治算法
- 五大常用算法之一:分治算法
- 五大常用算法之一:分治算法
- 五大常用算法之一:分治算法
- 五大常用算法之一:分治算法
- 五大常用算法之一:分治算法
- 五大常用算法之一:分治算法
- 五大常用算法之一:分治算法
- 五大常用算法之一:分治算法
- 大端与小端存储模式详解
- 《Android内核剖析》读书笔记 第2章 Java基础&异步消息处理模型
- 高效程序员的 7 个共同特征
- linux 进程管理(针对weblogic)
- 文件上传简介1---上传到指定的目录2
- 五大常用算法(一) 分治算法(5) 快速排序
- sqlite
- infa日志获取
- 修改mysql的max_allowed_packet
- Linux系统脚本的三种执行方式
- web开发项目经验
- webwork中自定义url后缀名
- 如何改oracle AL16UTF16为AL32UTF8
- 文件上传简介1---上传到指定的目录3