基本快速排序
来源:互联网 发布:开淘宝用什么电脑配置 编辑:程序博客网 时间:2024/06/16 19:29
基本思路:
每次确定数组中的中间那个数,然后分治两端的数组,直到要分治的数组只有一个数;
#include<stdio.h>void quicksort(int a[10000],int first,int last){ if(first<last) //如果该数组只有一个数即跳出, { int i=first,j=last; int key=a[first]; //每次去第一个数作为key; while(i<j) //如果i==j,即已经达到目标:把整个数组中大于key的放在后面,把小于key的放在前面 { while(i<j&&a[j]>=key) { j--; } if(i<j) { a[i]=a[j]; } while(i<j&&a[i]<key) { i++; } if(i<j) { a[j]=a[i]; j--; } } a[i]=key; //中间值key; quicksort(a,first,i-1); //然后分治,中间的数已经确定下来了,然后分治前面和后面的数组 quicksort(a,i+1,last); //如果分治的数组只有一个数,即已经排好序了 }}int main(){ int n,a[10000],i; while(scanf("%d",&n)!=EOF) { for(i=0;i<n;i++) { scanf("%d",&a[i]); } quicksort(a,0,n-1); for(i=0;i<n;i++) { printf("%d ",a[i]); } printf("\n"); }}
0 0
- 排序-快速排序-基本-随机化快速排序
- 快速排序基本问题
- 基本快速排序
- 基本排序之快速排序
- 基本排序算法--快速排序
- 快速排序的基本思想
- 快速排序-基本算法篇
- 代码练习:基本快速排序
- 基本算法之快速排序
- 基本排序算法之快速排序
- 基本排序_快速排序_Java实现
- java基本排序算法之快速排序
- 三种基本排序算法+快速排序
- 算法入门-快速排序-基本快速排序方法
- 快速排序(基本思想以及算法实现)
- 快速排序(1)基本算法实现
- 基本算法(1)--快速排序法
- 基本算法——快速排序
- springMVC+uploadify3.1 文件上传 demo
- NFD for Android环境配置
- maven加载本地库
- iOS 用10行代码实现购物车缓存
- 腾讯编程题
- 基本快速排序
- appium通过iOS的predicate的模糊或精确匹配使用-ios uiautomation方式寻找元素
- jquery1.6中的.prop()和.attr()异同
- pojsupermark
- java 堆栈的区别
- Android 全局异常捕获的完整实践
- 沈大海38节jquery强化教程2016视频下载
- Cordova插件,自动根据包名替换R资源描述
- H264码率设置 在手机中的设置.