您的位置:首页 > 编程语言 > Java开发

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

2017-03-29 14:31 363 查看
有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。package demo40;

import java.util.Scanner;

/**
* 有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。
*
* @author Administrator
*
*/
public class Demo30 {
public static void main(String[] args) {
test();
}

public static void test() {

int[] a = { 11, 13, 15, 16, 24, 33, 65, 99 };
System.out.println("原数组的各个元素为:");
for (int j = 0; j < a.length; j++) {
System.out.print(a[j] + "\t");
if (j == a.length - 1) {
System.out.println();
}
}
System.out.println("请输入要插入的数:");
int num = 0;
Scanner s = new Scanner(System.in);
num = s.nextInt();

int[] b = new int[a.length + 1];
if (num <= a[0]) {
b[0] = num;
for (int j = 1; j < b.length; j++) {
b[j] = a[j - 1];
}
} else if (num >= a[a.length - 1]) {
b[b.length - 1] = num;
for (int j = 0; j < b.length - 1; j++) {
b[j] = a[j];
}
} else {
for (int j = 0; j < a.length - 1; j++) {
if (num >= a[j] && num < a[j + 1]) {
for (int k = 0; k <= j; k++) {
b[k] = a[k];
}
b[j + 1] = num;
for (int m = j + 2; m < b.length; m++) {
b[m] = a[m - 1];
}
}
}
}

System.out.println("现在数组各个元素为:");
for (int i = 0; i < b.length; i++) {
System.out.print(b[i] + "\t");
}

}
}


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 数组 插入 排序
相关文章推荐