import java.util.Scanner;
import java.util.Arrays;
public class Ca{
public static void main(String[]args){
Scanner input=new Scanner(System.in);
int[] array=new int[]{1,5,3,9,6};//插入前的数组
int[] arr=new int[array.length+1];//创建一个比array长度大一的数组
Arrays.sort(array);//将array数组排序
for(int i=1;i<arr.length;i++){//将array数组复制给arr数组
arr[i]=array[i-1];//保留arr[0],将array复制给arr[1-5],此时arr={0,1,3,5,6,9}
}
System.out.print("请输入一个数字:");
int a=input.nextInt();//随机输入一个数字
arr[0]=a;//将a赋值给arr[0]
int d=0;//创建一个整数,代表下标位置
if(arr[0]<=arr[1]){
d=0;//当arr[0]小于arr[1]时,位置不变,下表位置为0
}else if(arr[0]>=arr[arr.length-1]){
d=arr.length-1;//当arr[0]大于arr[arr.length-1]时,下标位置为arr.length-1
int q=arr[0];//定义一个变量等于arr[0]
for(int i=0;i<arr.length-1;i++){
arr[i]=arr[i+1];//变换位置往前移
if(i+1==arr.length-1){//当arr[i+1]=arr.length-1时,表示已经到达最后一位,再讲arr[0]复制给arr[i+1]
arr[i+1]=q;
break;
}
}
}else{
for(int i=0;i<arr.length-1;i++){
if(arr[0]<arr[arr.length-1]&&arr[0]>arr[i])//当arr[0]小于arr[arr.length-1]并且大于arr[0]时,用for循环查找出位置
d=i;//位置为i;
}
int q=arr[0];//定义一个变量等于arr[0]
for(int j=0;j<arr.length-1;j++){
arr[j]=arr[j+1];//变换位置,将arr[d]之前的数往前移
if(j+1==d){//当arr[i+1]=d时,表示已经到达最后一位,再讲arr[0]复制给arr[i+1]
arr[j+1]=q;
break;
}
}
}
for(int i=0;i<arr.length;i++){
System.out.print(arr[i]+" ");
}
System.out.print("\n下标为:"+d);
}
}
```
java插入算法
最新推荐文章于 2024-04-24 16:12:51 发布