排序

冒泡排序是:相邻两数两两比较,进行相邻大小的交换,共进行N-1次,每轮  进行N-1-i次.核心程序段为:
for(i=0;i<N-1;i++)
{
   for(j=0;j<N-i-1;j++)
       if(a[j]>a[j+1])  
           {temp=a[j];a[j]=a[j+1];a[j+1]=temp}
}
选择排序是:首数与后数进行两两相比,按大小进行交换,共进行N-1次,每轮进行N-1次,每轮进行从i+1开始N-1为止。核心程序段为:
for(i=0;i<N-1;i++)
{
    for(j=i+1;j<N-1;j++)
           if(a[i]>a[j])
                {temp=a[i];a[i]=a[j];a[j]=temp}
}
注意了与冒泡排序的核心段的区别在于:
     (1)交换的两个对象:冒泡是 a[j]>a[j+1]  
                          选折是 a[i]>a[j]
     (2)轮次的变化:    冒泡是 for(j=0;j<N-i-1;j++) 
                          选折是 for(j=i+1;j<N-1;j++)
      冒泡的形式是:a[n]与啊a[n+1]比较交换  
      
      选折的形式则是:
                    第一次 a[0]与以后的比较交换
                    第二次 a[1]与以后的比较交换
                    ........
                    第n次是a[n]与以后的比较交换
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值