gpt4 book ai didi

java - 按排序顺序将元素插入数组

转载 作者:行者123 更新时间:2023-11-30 07:05:59 25 4
gpt4 key购买 nike

我正在尝试按排序顺序将元素添加到数组中。

这是我的代码:

public class SortedInsertion {

public static void main(String[] args) {

int[] arr=new int[6];
arr[0]=5;
arr[1]=6;
arr[2]=9;
arr[3]=11;
System.out.println(Arrays.toString(arr));
insert(7,arr);


}

public static void insert(int val,int[] arr){
int i;
for(i=0;i<arr.length-1;i++){

if(arr[i]>val)
break;
}
for(int k=i;k<arr.length-1;k++){
arr[k+1]=arr[k];
arr[i]=val;
}
System.out.println(Arrays.toString(arr));


}

}

我得到的输出是:[5, 6, 9, 11, 0, 0]

[5, 6, 7, 9, 9, 9]

但是正确的输出是

5,6,9,11,0,0

5,6,7,9,11,0

最佳答案

您可以使用 Arrays 或 Collections binarySearch 函数来获取插入新值的位置,您需要将所有元素从该位置(如果有)向右移动

int position = Math.abs(Collections.binarySearch(sortedList, key)) - 1;

关于java - 按排序顺序将元素插入数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26135900/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com