m0_73878384 2022-10-05 17:26 采纳率: 80%
浏览 28
已结题

冒泡排序 中是否需要进入循环的判断 以及数组的疑问.

想要进行冒泡排序 为什么要用 intarr 而不用intarr[] 在这里设置了value值来判断否需不需要排序 即1 2 3 4 5 6 7 8 9 10时就可以跳出函数 但这里出现了问题 希望指点.

 #include<stdio.h>
 void bubble_sort(int *arr,int sz)  
 {  int i=0;  int tmp;
    for(i=0;i<sz-1;i++)
   {  int j=0; int value=1;
       
     for(j=0;j<sz-1-i;j++)
      {
         if(arr[j]>arr[j+1])
         {  int value=0;   
          tmp=arr[j+1];
            arr[j+1]=arr[j];
           arr[j]=tmp;
            value=0;
           }
            //if(value==1){break;}
      }
      if(value==1)
      {break;}
   }
      
 }
 int main(){
  int arr[]={15,9,8,7,6,5,4,3,2,1};
  int sz=sizeof(arr)/sizeof(arr[0]);
   bubble_sort(arr,sz);
  
  
  int a;
   for(a=0;a<10;a++)
  printf("%3d",arr[a]); 
  
  
  
  return 0;
  }
  

  • 写回答

3条回答 默认 最新

  • 快乐鹦鹉 2022-10-05 17:39
    关注
     void bubble_sort(int *arr,int sz)  
     {  int i=0,tmp,value = 0;
        for(i=0;i<sz-1;i++)
       { 
            value = 0;
            for(j=0;j<sz-i-1;j++)
            {
                if(arr[j] > arr[j+1])
                {
                    value = 1;
                    tmp = arr[j];  
                    arr[j]=arr[j+1];
                    arr[j+1] = value;
                }
            }
            if(value == 0)
                break;
       }
    
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 10月13日
  • 已采纳回答 10月5日
  • 创建了问题 10月5日

悬赏问题

  • ¥15 vs2010开发 WFP(windows filtering platform)异常
  • ¥30 8*8*25的矩阵和1*8*25的矩阵相乘
  • ¥15 Ubuntu20.04主机有两个网口,如何配置将其中一个网口用来接入外网,另一个网口用来给其他设备上网
  • ¥15 ml307r-dl如何实现录音功能
  • ¥30 找抖音粉丝列表 付费查询
  • ¥15 付费100元 悬赏iphone 15pm 链接watch s7 移动一号双终端 下载不了esim文件解决办法?
  • ¥60 云南移动网络无法访问网站,但联通电信可正常访问
  • ¥15 寻找有过Qt加载网页项目经验的人
  • ¥15 我的电脑在最近一次windows更新后彻底打不开了,一按电源键只有这个提示,如何解决
  • ¥15 烝救者笔记本然后刷thinkbook笔记本的bios