永发信息网

求冒泡排序(c)

答案:3  悬赏:40  手机版
解决时间 2021-03-12 22:21
  • 提问者网友:遮云壑
  • 2021-03-12 11:57
求冒泡排序(c)
最佳答案
  • 五星知识达人网友:有你哪都是故乡
  • 2021-03-12 12:27
自己建一个数组a[n],然后给数组赋值
核心代码如下
for (i=0;i{
for(j=i+1;j{
if(a[i]>a[j])
{
int tmp =a[i];
a[i ] = a[j];
a[j] = tmp;
}
}
}
全部回答
  • 1楼网友:骨子里都是戏
  • 2021-03-12 14:22
百度去,太多了。。。
  • 2楼网友:孤老序
  • 2021-03-12 13:39
例题:从键盘上输入10个整数,用冒泡法从小到大排序后输出。
程序如下:
#include
void main()
{int a[10];
int i,j,t;
printf("please input 10 numbers:\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
printf("\n");
for(i=0;i<10;i++)
for(j=0;j<10-i;j++)
if(a[j]>a[j+1])
{t=a[j];a[j]=a[j+1];a[j+1]=t;}
printf("the sorted numbers:\n");
for(i=0;i<10;i++)
printf("%d",a[i]);
printf("\n");
}
分析:冒泡排序法的基本思想是将相邻两个数进行比较,将小的调到后面。
对于一个待排序的10个数序列,从前向后依次比较相邻的两个数,如果前面的大,则交换两个数,将小的调到前面,大的调到后面,这样经过一轮比较、交换后(即:a[0]与a[1]比较,a[1]与a[2]比较。。。。a[8]与a[9]比较,共9次),数组的最后一个a[9]就是最大的,然后对余下的前面9个数进行相同的第二轮比较(8次),找出次大数存放于a[8]中,依次类推,经过9轮比较后,数组中的各元数值就实现了从小到大排序。
根据需要自行修改;如有帮助请采纳,并点击右下角的赞同,谢谢采纳!!!
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯