关于sdnuoj1013的反思

题意的理解,看清楚n的取值范围。也看清楚结果的取值,判断出n的取值会溢出int,所以编代码的时候需要注意这一点

冒泡的使用

1 5 6

例如三个数排序,第一次排成5 6 1第二次 6 5 1

每一次循环有一个最小的数到最后,n -1次循环就会使n - 1个数拍到最后,也就完成了n个数的排序。

这三个数,1做了两次比较;5做了一次比较。一开始是n-1次比较,没进行一次循环,就相当于少一个数,也就意味着少了一次比较。

for (j = 0;j <n -1;j++) //一共n个数,需要n—1次循环完成排序

 for(i = 0;i<n-(I+j);i++)//控制比较次数

  {

      if(a[I]<a[I+1]

       { tem = a[ I ] ;

        a[I] = a[ I+1] ;

        a[I+1] = a [I];}

  }

三选择排序

void sort(int arr[],int n)

{    

 int tem;

    for (int I = 0;i <n - 1;i++)

        {

               for(int j = I + 1;j < n;j ++)

              { 

                       if(arr[j] > arr[I]

                           {

                               tem = arr[I];

                               arr[I] = arr[j];

                               arr[j] = tem;

                            }

             }

          

        }

  


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值