qsort快速排序的实现
2013-08-09 18:15
190 查看
#include <stdio.h> int a[100]; void prt(int n) { int i; for(i=1;i<=n;i++) printf( "%d ",a[i]); } void quicksort( int a[],int l,int h) { int j ,i,key; if (l>=h) return ; i=l;j=h;key=a[i]; while(i<j) { 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]; } a[i]=key; if (l<i-1) quicksort(a,l,i-1); if (i+1<h) quicksort(a,i+1,h); } int main() { int i,n; scanf("%d",&n); for(i=1;i<=n;i++) scanf( "%d",&a[i]); quicksort(a,0,n); prt(n); scanf("%d",&a[i]); return 0; }
本文出自 “至简” 博客,请务必保留此出处http://zhijian.blog.51cto.com/2057586/1269019
相关文章推荐
- 通过qsort实现快速排序
- 使用qsort实现快速排序
- 快速排序实现(QuickSort)
- 排序【6】之快速排序的C语言实现
- 快速排序(一)——C#实现
- java实现快速排序
- java中各种常用排序实现(直接插入排序、直接选择排序、堆排序、冒泡排序、快速排序和归并排序)
- JAVA实现快速排序
- 算法兴趣----- 一亿数据获取前100个最大值(仅供参考,基于快速排序的实现时间不稳定,基于最小堆实现。如果我们只要求前K个最大(小)值的时候,用堆是最好的选择,因为这里不用每次都排序了)
- 实现大文件里的快速排序
- java实现冒泡排序,选择排序,插入排序,快速排序(简洁版)及性能测试
- python实现快速排序
- 用简单的Python代码实现快速排序
- 快速排序的python实现
- 快速排序:Scala实现
- 面试算法题-单链表的快速排序实现
- c++实现快速排序
- c语言指针实现快速排序
- 快速排序的多种语言代码实现
- C++ 用qsort()实现字符串数组元素排序