黑马程序员技术交流社区

标题: 求大神,解答面试题 [打印本页]

作者: daniel031699    时间: 2016-5-24 00:12
标题: 求大神,解答面试题
给定一个有序数组,如果往该数组存储一个元素,并保证数组还是有序的,那么这个元素的存储角标怎么获取?

作者: 进击的鬼笔环肽    时间: 2016-5-24 22:11
数组长度不能变,怎么存啊,是要创建一个新的数组的吧
作者: daniel031699    时间: 2016-5-24 23:03
进击的鬼笔环肽 发表于 2016-5-24 22:11
数组长度不能变,怎么存啊,是要创建一个新的数组的吧

貌似只用求出需要插入的位置即可
作者: 何亚辉    时间: 2016-5-24 23:06
        public static void main(String[] args) {
        int[] a = {1,3,7,15,20,30,45,89};
        int c = 29;
        int i =0;
       
        int[] a1 = new int[a.length+1];
        for (i = 0; i < a.length; i++) {
                if(i<a.length-1&&a[i]>c){
                        for (int j = 0; j < a1.length; j++) {
                                if(j<i){
                                        a1[j]=a[j];       
                                }else if(j==i){
                                        a1[j]=c;               
                                }else{
                                        a1[j]=a[j-1];
                                }
                        }
                }
                if (a[a.length-1]<c){
                        for (int j = 0; j < a1.length; j++) {
                        if(j<a1.length-1){
                                a1[j]=a[j]
                               
                        }else{
                                a1[j]=c;
                               
                        }
                        }
                }
               
        }

       
        }
}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2