码迷,mamicode.com
首页 > 其他好文 > 详细

在排序好的数组插入一个数字,数字要插入到合适的位置上

时间:2014-06-25 19:31:58      阅读:177      评论:0      收藏:0      [点我收藏+]

标签:style   java   tar   color   strong   算法   

    

最近在看以前大一看过的一本书《JAVA开发实战经典》李兴华写的,每看一次以前看过的书,收获都是不一样的,很多东西以前不明白,现在一看恍然大悟的感觉;

 

这道题目是书上的习题,没给参考答案,我在网上也没找到好点的,就发上来,感觉这个算法还可以优化得更好,希望高手指点

 

       // 在排序好的数组插入一个数字,数字要插入到合适的位置上

       int intArr[] = { 11, 22,33, 44, 55, 66, 77};

       int insertNum = 34;

       //找到要插入的位置

       int insertIndex=0;

       for (int i = 0; i < intArr.length; i++) {

           if(insertNum<intArr[i]){

              insertIndex=i;

              break;

           }

       }

       //insertNum放入要插入的位置,然后后面每个都向后移动一位角标

       int intArr1[] = new int[intArr.length+1];

       for (int i = 0; i < intArr1.length; i++) {

           if(i>=insertIndex){

              if(i==insertIndex) //这个只做一次

              intArr1[i]=insertNum;

             

              if(i+1<intArr1.length) //i+1会越界,加判断

              intArr1[i+1]=intArr[i];

           }else{

              //插入之前执行,开始执行插入以后就不执行

              intArr1[i]=intArr[i];

           }

       }

       //循环输出

       for (int i : intArr1) {

           System.out.print(i+" ");

       }

 

在排序好的数组插入一个数字,数字要插入到合适的位置上,布布扣,bubuko.com

在排序好的数组插入一个数字,数字要插入到合适的位置上

标签:style   java   tar   color   strong   算法   

原文地址:http://blog.csdn.net/jerome_s/article/details/33316893

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!