java基础编程60题之30

package com.xijiaopractice;


public class Test30 {
/*
* 有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。
*/
public static void main(String[] args) {
int[] a=new int[]{1,5,7,10,14,18};
int[] c=insert(a, 19);
for (int i : c) {
System.out.print(i+"  ");
}
}
public static int[] insert(int[] a,int n){
int[] b=new int[a.length+1];
for (int i = 0; i < b.length; i++) {
if(n<a[0]){
b[0]=n;
for (int j = 0; j < a.length; j++) {
b[j+1]=a[j];
}
}


if(i<a.length-1&&n>=a[i]&&n<=a[i+1]){
for (int j = 0; j < i+1; j++) {
b[j]=a[j];
}
b[i+1]=n;
for (int j = i+2; j < b.length; j++) {
b[j]=a[j-1];
}
}

if(n>a[a.length-1]){
for (int j = 0; j < a.length; j++) {
b[j]=a[j];
}
b[a.length]=n;
}
}
return b;
}
}

猜你喜欢

转载自blog.csdn.net/m0_38068868/article/details/81061829