思路:
- 找要插入的位置 index
- 将该位置后面的数据,都往后挪一位 (处理index后面的数据)
- 把新数据插到该位置(处理index对应的数据)
package com.array.test;
import java.util.Arrays;
import java.util.Scanner;
/**
* 实现:在有序数组中插入一个元素,保持数组仍然有序
* 对新数组排序---1)找要插入的位置
* 2)将该位置后面的数据,都往后挪一位
* 3)把新数据插到该位置
*/
public class ArrayInsertThree {
public static void main(String[] args) {
int[] arr=new int[]{5,8,19,20,23};
System.out.println("原数组为:arr="+ Arrays.toString(arr));
Scanner sc=new Scanner(System.in);
System.out.println("请输入插入的数据");
int number=sc.nextInt(); //要插入的数据
int index=arr.length-1; //用来保存要插入的位置,默认是数组最后一个位置
//1、遍历数组,找到要插入的位置
for(int i=0;i<arr.length-1;i++){
if(arr[i]>number){
index=i; //