java实现在有序数组里插入数据(将数据放到数组最后一个位置)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hju22/article/details/83552602

思路:
1、将要插入的数据放到数组的最后一个位置
2、将新数据和前一个做比较,向前遍历
如果这个数据比前面一个小,就一直交换,一旦不小,就退出循环,不用再比较

package com.array.test;

import java.util.Arrays;
import java.util.Scanner;

//实现:在有序数组中插入一个元素
//对新数组排序----将新数据一直往前挪,挪到合适的位置
public class ArrayInsert {
    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("请输入插入的数据");
        arr[arr.length-1]=sc.nextInt();   //把要插入的数据放到数组的最后一个
        for(int i=arr.length-1;i>0;i--){
            if(arr[i]<arr[i-1]){   //如果这个数据比前面一个小,就一直交换,一旦不小,就退出循环,不用再比较
                int temp=arr[i];
                arr[i]=arr[i-1];
                arr[i-1]=temp;
            }else{
                break;
            }
        }
        System.out.println("新数组为:arr="+Arrays.toString(arr));

    }
}

结果:
坚持比努力更重要

猜你喜欢

转载自blog.csdn.net/hju22/article/details/83552602