2021-03-23 课堂笔记

 public static void main(String[] args) {
        /**
         *  插入新元素,依旧保持原数组有序
         */
        int [] scores =  new int[7];
        scores[0] = 99;
        scores[1] = 88;
        scores[2] = 77;
        scores[3] = 66;
        scores[4] = 55;
        scores[5] = 44;
        //  1获取要插入的值
        System.out.println("请输入你要插入的值:");
        Scanner scanner = new Scanner(System.in);
        int num = scanner.nextInt();
        //  2找到要插入的新值得位置
        int index = 0;
        for (int i  = 0;i<scores.length;i++){
            if(num> scores[i]){  // 99  88  77  66 55  44  (80)找到数组中第一个比num小的值该位置就是num要插入的位置
                index = i;  //  把位置记录在index中
                break;
            }

        }
        //  3.吧元素向后移动 index<->length-1 之间的全部向后移动一位
        for(int i = scores.length-1;i>index;i --){
            System.out.println("把" + (i-1)+"位置的元素"+scores[i-1]+"移动到"+i+"位置"+scores[i]);
            scores[i] = scores[i-1];
            System.out.println(Arrays.toString(scores));

        }
        //  4.插入新值

        System.out.println("在"+index +"位置"+scores[index]+"插入新值:"+num );
        scores[index] = num;

        //   5.打印插入后的结果
        //   降序
        System.out.println("降序:");
        for(int i = 0; i< scores.length;i++){
            System.out.print(scores[i]+"\t");
        }
        System.out.println();
        System.out.println("升序:");
        for (int i = scores.length-1; i >=0; i --){
            System.out.print(scores[i]+"\t");
        }

    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值