zoukankan      html  css  js  c++  java
  • Java基础50道经典练习题(30)——插入数字

    【程序 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();
    
        }
    
    
    }
    

      

  • 相关阅读:
    eclipse安装Aptana 插件,支持Javascript
    C++字符串转换成uint64类型
    C语言字节对齐
    Windows版本Traceroute
    ubuntu下使用FireBug调试Javascript脚本
    TCP拥塞控制图
    nodejs点滴
    你应该知道的16个Linux服务器监控命令
    C语言运算符(转载)
    常用正则表达式
  • 原文地址:https://www.cnblogs.com/lcpp/p/13053222.html
Copyright © 2011-2022 走看看