数组的排序

数组排序:

1.冒泡算法

    核心思想:相邻比较(比较位置0-1 1-2 2-3 3-4 0-1 1-2 2-3  0-1 1-2...开始位置均为0)

        口诀    :相邻比较,外层 循环n-1,里层循环n-1-i(n为数组的长度)

          举例   :将一串数字 21,32,16,31,12从大到小进行排列

                        double array[ ]  = {21,32,16,31,12};          //创建一个数组

                         for(int i = 0;i <array.length - 1;i++){          //外层循环,控制比较的轮数

                              for(int j = 0;j<array.length - 1 - i,j++){   //内层循环,控制每轮比较的次数  

                                  if(array[ j ]   <array[ j+1 ] ) {             //判断相邻两个数的大小关系

                                        int temp = array[ j ];                   //设置一个变量来储存

                                         array[ j ] = array [ j+1 ];

                                         array [ j+1 ] = array[ j ];          

                                         } } }

2.选择算法

    核心思想: 前后比较(比较位置0-1 0-2 0-3 0-4 1-2 1-3 ..3-4  结束位置均为四)

         口诀  :前后比较,外层起点0,里层起点i+1

         举例  :将一串数字 21,32,16,31,12从大到小进行排列

                      double array[ ]  = {21,32,16,31,12};   

                       for(int i = 0, i < array.length  -1 ;i++) {

                             for(int j =i+1;j< =array.length - 1;j++){

                                     if(array[ i  ] < array[ j ]){

                                   int temp = array[ i ];

                                    array[ i ] =array[ j+1 ];

                                     array[ j +1] = array[ i ];

                                               }  }  }

                                

       

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值