int[] arr={5,6,8,9,10,12};
int[] arr1=new int[arr.length+1];
int charu=7;
if(charu>arr[arr.length-1]){
arr1[arr1.length-1]=charu;
for(int i=0;i<arr1.length-1;i++){
arr1[i]=arr[i];
}
}
if(charu<arr[arr.length-1]){
for(int i=0;i<arr1.length-1;i++){
arr1[i+1]=arr[i];
if(charu>arr1[i]){
......这里该怎么写移位?
arr1[i]=charu;
}
}
}插入数组
for(int j=0;j<i;j++){
arr1[j]=arr1[j+1];
}
arr1[i]=charu;
}
int[] arr = { 5, 6, 8, 9, 10, 12 };
int[] arr1 = new int[arr.length + 1];
int charu = 7;
if(charu<arr[0]){//如果charu比arr的第一个数还小
arr1[0] = charu;
for(int i=0;i<arr.length;i++){
arr1[i+1] = arr[i];
}
}else if(charu>arr[arr.length-1]){// 如果charu比arr的最后一个数还大
for(int i=0;i<arr.length;i++){
arr1[i] = arr[i];
}
arr1[arr.length] = charu;
}else{// 在中间的情况
for(int i=0;i<arr.length;i++){
if(charu>arr[i]&&charu<arr[i+1]){
for(int j=0;j<=i;j++){
arr1[j]=arr[j];
}
arr1[i+1] = charu;
for(int k=i+2;k<arr.length+1;k++){
arr1[k] = arr[k-1];
}
}
}
}
for(int m=0;m<arr1.length;m++){
System.out.println(arr1[m]);
}
//有序插入问题
int[] arr={5,6,8,9,10,12};
int[] arr1=new int[arr.length+1];
int charu=7;
if(charu<arr[0]){
arr1[0] = charu;
for(int i=0;i<arr.length;i++){
arr1[i+1] = arr[i];
}
}
else if(charu>arr[arr.length-1]){
arr1[arr1.length-1]=charu;
for(int i=0;i<arr1.length-1;i++){
arr1[i]=arr[i];
}
}
else if(charu<arr[arr.length-1]){
for(int i=0;i<arr1.length-1;i++){
arr1[i+1]=arr[i];
while(charu>arr1[i+1]){
arr1[i]=arr1[i+1];
arr1[i+1]=charu;
}
}
}
for(int i=0;i<arr1.length;i++){
System.out.print(arr1[i]+" "); }
}