快速排序代码
来源:互联网 发布:java开发工程师工资水平 编辑:程序博客网 时间:2024/05/16 14:03
#include <stdio.h>
/*输出*/
void show(int [],int);
void quickSort(int array[],int left,int right)
{
if(left>right)
return;
/*取最左边的值为pivot(基准)*/
int i=left,j=right,pivot=array[left];
while(i<j)
{
while( (i<j) && (pivot <= array[j]) )
j--;
if(i<j)
array[i++]=array[j];
while( (i<j) && (array[i] <= pivot) )
i++;
if(i<j)
array[j--]=array[i];
}
array[j]=pivot;/*也可以是 array[i]=piovt。因为此时i=j*/
quickSort(array,left,i-1);
quickSort(array,i+1,right);
}
int main(int argc,const char * argv[])
{
/*测试数据*/
//int array[]={4,3,9,0,8,5,7,1,6,2};
int array[]={9,8,7,6,5,4,3,2,1,0,123,22,34,22,56,76,345,221};
int LEN=sizeof(array)/sizeof(int);
printf("原始数组:\n");
show(array,LEN);
printf("\n-----\n");
quickSort(array,0,LEN-1);
printf("\n排序结果:\n");
show(array,LEN);
return 0;
}
/*打印*/
void show(int a[],int len)
{
int i;
for(i=0;i<len;i++)
printf("%d ",a[i]);
}
- 快速排序代码
- 随机化快速排序代码
- 精简代码-快速排序
- 精简代码-快速排序
- 快速排序代码
- 快速排序的代码
- 快速排序 C代码
- 快速排序代码:
- 快速排序Java代码
- C++ 快速排序代码
- 快速排序简单代码
- 快速排序 代码实现
- 快速排序的代码
- 快速排序代码
- 快速排序代码
- 快速排序代码实现
- 快速排序代码
- 快速排序代码
- iOS 图片加载方法
- 【软考】(四)原码、反码、补码
- 使用SimpleDateFormate将date类型与String类型相互转换
- 我是个程序员 大学刚毕业去一家公司面试
- C++primer中类(一)
- 快速排序代码
- cocos2d-x 3.0正式版 vs2013配置
- JSP页面乱码问题解决
- SP2010开发和VS2010专家"食谱"--第三章节--高级工作流(1)--创建自定义活动
- 集合的排序
- 串求逆的递推算法
- 【贪心】POJ2586 Y2K Accounting Bug
- 水桶问题
- taglist安装