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

public static void main(String[] args) {
int[] a = {1,3,5,7,9,19,29,70};
int[] b = new int[a.length+1];
Scanner scan = new Scanner(System.in);
System.out.print("请输入一个数:");
int insert = scan.nextInt();
int n = 0;
//当插入的数小于第一个数时
if(insert < a[0]){
b[0] = insert;
for(int i = 1 ;i < b.length;i++){
b[i] = a[i-1];
}
}else if(insert > a[a.length-1]){//当插入的数大于最后一个数时

for(int i = 0 ;i < b.length-1;i++){
b[i] = a[i];
}
b[b.length-1] = insert;
}else {
//当插入的数在中间时
int j = 0;
for( ; j < a.length-1 ; j++){

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

for(int c = 0 ; c <b.length;c++){
System.out.print(b[c]+" ");
}

}

}

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。