永发信息网

定义递归函数实现用"起泡法"对输入的N个数(采用数组存储)按从大到小排序,并设计主函数进行调用;

答案:2  悬赏:20  手机版
解决时间 2021-01-12 20:09
定义递归函数实现用"起泡法"对输入的N个数(采用数组存储)按从大到小排序,并设计主函数进行调用;
最佳答案

#include
void sort(int a[],int n)
{int i,t;
 for(i=0;i   if(a[i]   {t=a[i];a[i]=a[i+1];a[i+1]=t;}
 if(n>1)sort(a,n-1);  
}
int main()
{int a[200],i,n;
 scanf("%d",&n);
 for(i=0;i   scanf("%d",&a[i]);
 sort(a,n);
 for(i=0;i     printf("%d ",a[i]);
 return 0;
}
全部回答
#include
#include
//1. 降序冒泡排序方法:
void bubble(int array[], int length)
{
bool exchanged = true;
for (int i = length - 1; i > 0 && exchanged; i--)
{
exchanged = false;
for (int j = 0; j < i; j++)
{
if (array[j] < array[j + 1])
{
array[j] = array[j] + array[j + 1];
array[j + 1] = array[j] - array[j + 1];
array[j] = array[j] - array[j + 1];
exchanged = true;
}
}
}
}

//2. 打印函数
void print(int array[], int length)
{
for(int i = 0; i < length; i++)
printf("%d ", array[i]);
printf("\n");
}

//3. 主函数
void main()
{
int n;
int *array;
scanf("%d", n); //输入N
if (n <= 0) //待排序的数个数小于等于零就无需处理了
return;
array = (int *)malloc(sizeof(int) * n); //申请数组空间
for (int i = 0; i < n; i++)
{
scanf("%d", &array[i]);
}
print(array,n); //输入序列
bubble(array, n); //排序
print(array,n); //输出序列
free(array);
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
论语练习泰伯篇求答案
河北省有多少家糠醛厂
众星拱目的意思
WLK和天谴之门的CG
德信居房产中航城A区店地址在哪,我要去那里
2046讲述的是什么、或者说反映的什么。
请问1985年农历3月21日出生的人是属于什么星
陈寿简介
谁知道漳州芗城区哪个宾馆有那啥的。
法澜秀玻萃水光饮主要针对什么人群?效果怎么
河间市留古寺派出所地址在什么地方,想过去办
从安中到西堤坐几路公交车
下列词语中划线的字注音全部正确的一项是A.醴
酱香炒米粉的辣子酱怎么炒的
求我的桌面壁纸
推荐资讯
哪种代码代表转基因
女人私处能容纳多大的阳物
宿命学讲什么
12芯光纤分纤箱往下分6个箱应该怎么接
近视了是不是一定要戴ok镜
尹子维吴彦祖什么关系 尹子维吴彦祖合作拍摄
汽车喷漆喷涂套色是什么工艺请指教
法拉利好开么??除了快和普通汽车有区别么?
尚记狗肉在哪里啊,我有事要去这个地方
香中间高什么意思
移动的移字怎么组词
12.9÷x=4.3这个方程怎么解
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?