首页 > 编程语言 > 详细

Java基础50道经典练习题(30)——插入数字

时间:2020-06-06 09:10:31      阅读:48      评论:0      收藏:0      [点我收藏+]
【程序 30 插入数字】
题目:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。
 
程序分析:首先判断此数是否大于最后一个数,然后再考虑插入中间的数的情况,插入后此元素之后的
数,依次后移一个位置。
 
源程序:
package com.homework.test;
import java.util.Scanner;
/*
【程序 30 插入数字】
题目:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。
程序分析:首先判断此数是否大于最后一个数,然后再考虑插入中间的数的情况,插入后此元素之后的
数,依次后移一个位置。
 */
public class Test30 {
    public static void main(String [] args){
        Scanner scan = new Scanner(System.in);
        System.out.println("请输入要插入的数:");
        int m = scan.nextInt();
        scan.close();
        int[] a = {1,2,3,5,6,7,8}; // 4
        int[] b = new int[8];
        int len = a.length;
        int flag = 0;

        //此处只考虑了原数组是升序的,降序同理
        if (m > a[0]){
            for (int i=0; i<len; i++){
                if (m < a[i]) {
                    b[i] = m;
                    flag = i;
                    break;
                }
                b[i] = a[i];
            }
            for (int j=flag+1; j<len+1; j++)
                b[j] = a[j-1];

        }
        if (m >= a[6]){
            b[7] = m;
            for (int i=0; i<len; i++)
                b[i] = a[i];
        }

        
        for (int i=0; i<len+1; i++){
            System.out.print(b[i] + " ");
        }
        System.out.println();

    }


}

  

Java基础50道经典练习题(30)——插入数字

原文:https://www.cnblogs.com/lcpp/p/13053222.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!