最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
c/c++数据结构和算法的快速排序例子
时间:2016-04-10 编辑:简简单单 来源:一聚教程网
找到一个 “基准”(pivot),所有元素比基准值小的摆放在基准左边,大的放在右边,然后递归排序
c语言版本
#include
void QuickSort(int *s,int l,int r);
int main(void)
{
int i;
int k[]={8,65,4,2,0,1,3,5,7,9,25};
QuickSort(k,0,10);
for(i=0;i<11;i++)
printf("%d\n",k[i]);
return 0;
}
void QuickSort(int *s,int l,int r)
{
int i,j,pivot;
if(l
i=l;
j=r;
pivot=s[i];
while(i
while(i
if(i
s[i]=s[j];
i++;
}
while(i
s[j]=s[i];
j--;
}
}
s[i]=pivot;
QuickSort(s,l,i-1);
QuickSort(s,i+1,r);
}
}
-
上一个: c/c++数据结构和算法之顺序栈例子
-
下一个: c/c++中折半查找与插入排序的例子
相关文章
- c/c++ 数据结构和算法-选择排序/冒泡排序 03-06
- C#复制数组的两种方式及效率比较解读 10-24
- ASP.NET Identity用法解析 10-24
- ASP.NET MVC使用Identity增删改查用户介绍 10-24
- C语言中atoi函数模拟实现介绍 10-18
- .Net反向代理组件Yarp用法介绍 10-10