快速排序
来源:互联网 发布:窥孔优化 编辑:程序博客网 时间:2024/06/13 00:43
#include "stdio.h"int partion(int a[], int left, int right){ //将小于数组a[]第一个元素的元素移到左区间,将大于a[0]的元素移到右区间 int i = left; int j = right; int temp = a[left]; while(i<j) { while(i<j && a[j]>temp) //如果右边元素大于参照元素 j--; //右面区间下标左移 a[i] = a[j]; //将右边小于参照元素的元素移到左区间 while(i<j && a[i]<temp) //如果左边元素小于参照元素 i++; //左面下标右移 a[j] = a[i]; //将左边大于参照元素的元素移到右区间 } a[i] = temp; //将参照元素放置到合适的位置 return i; //返回参照元素下标}void quickSort(int a[], int left, int right){ if(left<right) //递归结束条件 { int mid = partion(a, left, right); quickSort(a, left, mid); //对左段区间递归排序 quickSort(a, mid+1, right); //对右段区间递归排序 }}int main(){ int a[100]; int len; int i; printf("输入元素个数:"); scanf("%d", &len); for(i=0; i<len; i++) scanf("%d", &a[i]); quickSort(a, 0, len-1); for(i=0; i<len; i++) printf("%d ", a[i]); printf("\n"); return 0;}
0 0
- 快速排序
- 快速排序
- 快速排序
- 快速排序!
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 二分搜索
- [Django入门知识浅介]Django的搜索路径与Import机制
- 第114讲:Hadoop集群安装解析学习笔记
- View的事件分发机制。
- 归并排序
- 快速排序
- sicily. 放鸡蛋(输出情况总数+输出具体情况)
- 第二阶段
- poj 2104 K-th Number (主席树学习第一弹)
- 排列问题
- Rational Rose
- Django+Markdown+Pygments 支持Markdown 实现代码高亮
- 棋盘覆盖
- 线性时间选择1