在一个有序的数组,添加一个元素后排序不变

package com.dj.springtest.demo;

import java.util.*;

/**
 * User: ldj
 * Date: 2023/11/4
 * Time: 17:51
 * Description: 在一个有序的数组,添加一个元素后排序不变
 */
public class Tr {

    public static void main(String[] args) {
        int[] array = new int[]{1, 3, 5, 7, 8, 8, 10};
        List list0 = sort(-1, array);
        List list1 = sort(1, array);
        List list2 = sort(10, array);
        List list3 = sort(8, array);
        List list4 = sort(9, array);
        List list5 = sort(129, array);

        Object[] objects = list3.toArray();
        System.out.println(Arrays.toString(objects));
    }

    //随便插入一个数,排序保持不变
    public static List sort(int num, int[] array) {
        ArrayList list = new ArrayList<>();
        for (int i : array) {
            list.add(i);
        }

        //头插
        if (num <= list.get(0)) {
            list.add(0, num);
            return list;
        }

        //尾插
        if (num >= list.get(array.length - 1)) {
            list.add(num);
            return list;
        }

        for (int i = 0; i < list.size(); i++) {
            if (num > list.get(i) && num <= list.get(i + 1)) {
                list.add(i + 1, num);
            }
        }

        return list;
    }

}

在一个有序的数组,添加一个元素后排序不变_第1张图片

你可能感兴趣的:(java,java)