运行效果如下
2条回答 默认 最新
- ヾ凉秋 2021-12-23 11:47关注
public class demo { public static void main(String[] args){ int[] arr = {2,5,6,7,8,9,10}; Scanner sc = new Scanner(System.in); System.out.print("插入之前的数组:"); for (int i=0;i<arr.length;i++){ System.out.print(arr[i]+" "); } System.out.println(""); System.out.println("请输入要插入的数:"); int num = sc.nextInt(); //定义一个比原数组长度大一的空数组 int[] arr2 = new int[arr.length+1]; //如果输入的比有序数组的最后一个元素还大,就直接放到新数组的最后一个 if(num>arr[arr.length-1]){ arr2[arr2.length-1]=num; for(int i=0;i<arr.length;i++){ arr2[i] = arr[i]; } }else{ int i; for(i=0;i<arr.length;i++){ if(arr[i]<num){ arr2[i] = arr[i]; }else{ arr2[i] = num; break;//例如1,2,3,5,6;插入4;1,2,3,4,插入之后要跳出,否则后面就全是4 } } for(int j=i+1;j<arr2.length;j++){ arr2[j]=arr[j-1];//把剩下的元素添加尽量,例如上面的5,6 } } traverse(arr2); } //定义遍历方法 public static void traverse(int[] arr){ for(int i=0;i<arr.length;i++){ System.out.print(arr[i]+" ");//不换行遍历,以空格隔开 } System.out.println();//换行 } }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录