排序——快速排序
2016-08-04 10:28
148 查看
时间复杂度为O(NlogN)。
#include<stdio.h> int a[101]; void quicksort(int *a,int left,int right) { int index,temp; if(left>=right) return ; index=a[left]; //index中存的就是基准数 int i=left; int j=right; while(i!=j) { while(a[j]>=index && i<j) j--; a[i]=a[j]; while(a[i]<=index && i<j) i++; a[j]=a[i]; } a[i]=index; //将基准数归位 quicksort(a,left,i-1); quicksort(a,i+1,right); } int main() { int i,n; printf("请输入排序数字的个数:\n"); scanf("%d",&n); printf("请输入待排序列:\n"); for(i=0;i<n;i++){ scanf("%d",&a[i]); } quicksort(a,0,n-1); printf("排序结果为:\n"); for(i=0;i<n;i++){ printf("%d ",a[i]); } getchar();getchar(); return 0; }
相关文章推荐
- 排序笔记_6(三向切分的快速排序)
- 排序(冒泡、直接插入、快速排序)
- 排序(冒泡、直接插入、快速排序)
- 链表排序-归并排序和快速排序
- 四种基本的排序方法:冒泡排序,选择排序,插入排序,快速排序
- 【数据结构】排序算法(二)之交换排序之快速排序(QuickSort)
- 内部排序之四:归并排序和快速排序(含完整源码)
- 快速排序的算法思想及Python版快速排序的实现示例
- sdutacm-数据结构实验之排序八:快速排序
- 排序算法-快速排序
- 简单排序Java实现(二):归并排序,快速排序
- 排序第七章:快速排序标准版
- 归并排序和快速排序
- 【算法-排序之二】快速排序
- 【基础排序】— 快速排序
- 交换排序-快速排序
- python练习:逆波兰,冒泡排序,快速排序
- 数据结构经典排序---快速排序
- 八大排序--快速排序
- wikioi1076 排序(快速排序)