您的位置:首页 > 其它

《c程序设计语言》读书笔记-递归实现快速排序算法

2014-11-12 19:26 232 查看
#include <stdio.h>

void swap(int v[],int i,int j)
{
int temp;

temp = v[i];
v[i] = v[j];
v[j] = temp;
}

void qsort(int v[],int left,int right)
{
int i,last;

if(left >= right)
return;
swap(v,left,(left + right) / 2);
last = left;
for(i = left + 1;i <= right;i++)
if(v[i] < v[left])
swap(v,++last,i);
swap(v,left,last);

qsort(v,left,last - 1);
qsort(v,last + 1,right);
}
int main()
{

int v[10] = {10,9,8,7,6,5,4,3,2,1};
int i;

qsort(v,0,9);

for(i = 0;i < 10;i++)
printf("%d ",v[i]);

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: