Java经典编程题50道之三十

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java经典编程题50道之三十相关的知识,希望对你有一定的参考价值。

有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。

public class Example30 {
    public static void main(String[] args) {
        int[] m = { 3, 5, 9, 12, 16, 20, 25, 33 };
        addElement(m, 17);
    }

    public static void addElement(int[] a, int n) {
        System.out.print("插入前的数组为:");
        for (int r : a) {
            System.out.print(r + " ");
        }
        int[] b = new int[a.length + 1];
        int i, j, k;
        for (i = 0; i < a.length; i++) {
            if (a[i] >= n) {
                for (j = a.length; j > i; j--)
                    b[j] = a[j - 1];
                b[i] = n;
                break;
            } else {
                b[a.length] = n;
            }
        }
        for (k = 0; k < i; k++)
            b[k] = a[k];
        System.out.print("\n插入" + n + "后的数组为:");
        for (int r : b) {
            System.out.print(r + " ");
        }
    }
}

以上是关于Java经典编程题50道之三十的主要内容,如果未能解决你的问题,请参考以下文章

Java经典编程题50道之三十二

Java经典编程题50道之三十

Java经典编程题50道之三十九

Java经典编程题50道之三十五

Java经典编程题50道之三十八

Java经典编程题50道之三十六