快速排序
来源:互联网 发布:商家平台源码 编辑:程序博客网 时间:2024/06/07 02:53
#include<stdio.h>void quicksort(int a[],int left,int right){int i,j;if(left < right){i = left; //left、right用于限定要排序数列的范围,temp即为中心元素j = right;int temp = a[left];do{//从右向左找第一个不小于中心元素的位置jwhile(a[j] > temp && i < j) {j--; //向前寻找}if(i < j) //当前元素不大于中心元素时,跳出while循环,进入if循环。{a[i] = a[j]; //当前元素移至左边i++;}//从左向右找第一个不大于中心元素的位置iwhile(a[i] < temp && i < j){i++;}if(i < j){a[j] = a[i];j--;}}while(i < j); //控制当组内寻找一遍a[i] = temp; //将中心元素填入最终位置quicksort(a,left,i-1); //最后用同样的方式对分出来的左边的小组进行同上的做法quicksort(a,i+1,right); //最后用同样的方式对分出来的右边的小组进行同上的做法}}int main(){int i;int a[] = {5, 4, 8,9, 1,3};int n = sizeof(a) / sizeof(int);quicksort(a,0,n-1);printf("快速排序结果:");for(i=0; i<n; i++){printf("%d ",a[i]);}printf("\n");return 0;}
阅读全文
0 0
- 快速排序
- 快速排序
- 快速排序
- 快速排序!
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- Socket抽象类的工程应用
- 【LeetCode】189. Rotate Array
- Set up CodeBlocks for OpenCV
- gcd公式
- Java 、 Android 面试题
- 快速排序
- [PAT乙级]1054. 求平均值 (20)
- serializer验证数据
- hdu 4825 01字典树
- react 获取属性的正确打开方式
- 软件工程师知识体系架构
- Android ContentProvider之读取和插入短信
- 分布式锁实现的基本分析
- 归并排序