永发信息网

C语言中冒泡排序法(又称起泡排序法)得具体程序

答案:4  悬赏:50  手机版
解决时间 2021-03-06 09:22
  • 提问者网友:低吟詩仙的傷
  • 2021-03-06 03:22
C语言中冒泡排序法(又称起泡排序法)得具体程序
最佳答案
  • 五星知识达人网友:雪起风沙痕
  • 2021-03-06 04:04
冒泡法我是这样理解的,便于掌握和记忆。首先冒泡是n长度的数组开始的两位开始,逐位双双比较一直到最后两个,所以最外循环比较了n-1次。第一个数比较了以后就不比了,从第二个开始,一直比较到数组末尾,于是内循环的起始位置不同,每次都是外侧i的值加0,也就是i。但结束的限制和外层循环是相同的。于是写法为for (i=0;i{
for(j=i;j
全部回答
  • 1楼网友:等灯
  • 2021-03-06 07:20
#include"stdio.h"main(){ int a[5],*p,i,t,j; for(i=0;i<5;i++)scanf("%d",&a[i]); printf("\n");for(i=0;i<5;i++) //改成for(i=0;i<4;i++) {for(j=0;j<5;j++)//改成for(j=0;j<4-i;j++) if(a[j]>a[j+1]) {t=a[j];a[j]=a[j+1];a[j+1]=a[j];//改成a[j+1]=t; } } for(i=0;i<5;i++)printf("%d",a[i])
  • 2楼网友:迷人又混蛋
  • 2021-03-06 05:58
int main() { int i,j,temp; int a[10]; for(i=0;i<10;i++) scanf ("%d,",&a[i]); for(j=0;j<=9;j++) { for (i=0;i<10-j;i++) if (a[i]>a[i+1]) { temp=a[i]; a[i]=a[i+1]; a[i+1]=temp;} } for(i=1;i<11;i++) printf("%5d,",a[i] ); printf("\n"); }
如何??
  • 3楼网友:迷人又混蛋
  • 2021-03-06 05:03
int main() 
{ int i,j,temp; 
int a[10]; 
int flag = 0;
for(i=0;i<10;i++) 
scanf ("%d,",&a[i]);
for(j=0;j<=9;j++)
{
    for (i=0;i<10-j;i++) 
      if (a[i]>a[i+1])
      {
        temp=a[i]; 
        a[i]=a[i+1]; 
        a[i+1]=temp;
        flag = 1;
       } 
    if(flag == 0)
        break;
    else
        flag = 0;
 } 
 for(i=0;i<10;i++) 
   printf("%5d,",a[i] ); 
 printf(" "); 
 }
这估计就是最新的冒泡了,比其他的省时间
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯