有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。
/*
* 有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。
* x如果比最大的数大,则直接插入最大的数之后
* 遍历数组到a[i],发现比x大,则从a[i]到a[a.length-1]整体后移,空出a[i]
*/
public class Test9 {
public static void main(String[] args) {
Scanner cin=new Scanner(System.in);
int[] a=new int[5];
int i,j,x,t1,t2;
System.out.println("请按从小到大的顺序输入四个整数:");
for(i=0;i<a.length-1;i++){
a[i]=cin.nextInt();
}
System.out.println("请输入要插入的数:");
x=cin.nextInt();
if(x>a[3])
a[4]=x;
else {
for(i=0;i<a.length-1;i++) {//遍历数组
if(a[i]>x) {
t1=a[i];
a[i]=x;
for(j=i+1;j<a.length;j++) {//整体后移
t2=a[j];
a[j]=t1;
t1=t2;
}
break;
}
}
}
for(i=0;i<a.length;i++)
System.out.println(a[i]);
cin.close();
}
}