快速排序
来源:互联网 发布:天尚网络机顶盒好不好 编辑:程序博客网 时间:2024/06/11 06:23
快速排序
#include<stdlib.h>#include<stdio.h>#define ARRAY_LENGTH (10)int partition(int *A,int p,int r){if(A==NULL || p<0 || r<0 || p>r){return NULL;}int x = A[r];int i = p-1;for(int j = p;j < r; j++){if(A[j]<=x){i = i+1;int temp = A[i];A[i] = A[j];A[j] = temp;}}int temp = A[i+1];A[i+1] = A[r];A[r] = temp;return (i+1);}void quick_sort(int *A,int p,int r){if(A==NULL || p<0 || r<0 || p>r){return;}if(p < r){int q = partition(A,p,r);quick_sort(A,p,q-1);quick_sort(A,q+1,r);}}int main(){int A[ARRAY_LENGTH]={9,2,3,1,4,10,6,5,8,7};quick_sort(A,0,ARRAY_LENGTH-1);for(int i=0 ; i<ARRAY_LENGTH ; i++){printf("num %d : %d\n",i,A[i]);}system("pause");return 0;}
快速排序虽然总体的平均效率是最好的,但也不是任何时候都是最优的算法。比如数组本身已经排好序了,而每一轮排序的时候都是以最后一个数字作为比较的标准,此时快速排序的效率只有O(n^2)
0 0
- 快速排序
- 快速排序
- 快速排序
- 快速排序!
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 10.05 Ralph Lauren POLO Udsalg
- 10.05 Ralph Lauren POLO Udsalg
- 归并排序法
- 10.05 Ralph Lauren POLO Udsalg
- 堆排序
- 快速排序
- CF 474D Flowers(dp)
- Java web 数据库 表格的实现
- HDU——4788 Hard Disk Drive
- ubuntu下软件安装卸载与查看
- 遗传算法
- 数组的简述
- APUE--pthreadatfork()函数理解
- 客户端远程连接oracle服务器