您的位置:首页 > 其它

递归实现冒泡排序

2014-11-25 15:18 190 查看
写了个用递归实现冒泡排序的小程序,贴出来哈。程序简单,注释免了。

#include
#include
#include

//递归实现冒泡排序,从小到大

void sort(int *a,int m,int n)
{
int temp;
if(m==0||n==0)
{
return;
}
if(m>0)
{
if(*(a+n-1)>*(a+n))
{
temp = *(a+n-1);
*(a+n-1) = *(a+n);
*(a+n) = temp;
}
sort(a,n-1,m);
}
sort(a,n,m-1);
}

//产生10个100到200 之间的随机数进行测试

void main()
{

time_t tms;
int num[10];
int i;

srand((unsigned int)time(&tms));

for(i=0;i<10;i++)
{
*(num+i) = 100 + rand()%100;
printf("%d\n",*(num+i));
}

sort(num,9,9); //调用递归排序

printf("After sorted\n");
for(i=0;i<10;i++)
{
printf("%d\n",*(num+i));
}

getchar();

}



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