【问题标题】:Insertion sort array java [closed]插入排序数组java [关闭]
【发布时间】:2023-03-06 16:27:01
【问题描述】:

所以我必须为插入排序编写代码,该插入排序将对随机整数数组进行排序,该数组已经设置并且工作正常,除了我的排序之外的所有内容,这就是我所拥有的:

 for(int i =1; i< numberSort.length-1;i++){
        int temp = numberSort[i];
        int j = i-1;
        while((j >= 0) && (numberSort[j]>temp)){
            numberSort[j+1] = numberSort[j];
            j = j-1;
        }
        numberSort[j+1] = temp;          
    }
}

在我看来,这应该可行,但它没有,它将数字从原来的位置移动,但不按升序排列它们。感谢您提供的任何帮助。

【问题讨论】:

  • 如果不是算法部分,试试:Arrays.sort(numberSort);

标签: java sorting insertion-sort


【解决方案1】:

此代码适用于我:

public static void main(String[] args) {
    int[] numberSort = {22,7,2, 5, 7, 1, 2, 9,33,55,12,1,0};
        for (int i = 1; i < numberSort.length; i++) {
            int temp = numberSort[i];
            int j = i - 1;
            while ((j >= 0) && (numberSort[j] > temp)) {
                numberSort[j + 1] = numberSort[j];
                j = j - 1;
            }
            numberSort[j + 1] = temp;
        }
        for (int i = 0; i < numberSort.length; i++) {
            System.out.println(numberSort[i]);
        }
    }

给出输出:

0
1
1
2
2
5
7
7
9
12
22
33
55

【讨论】:

  • 嗯..我不知道该怎么做..我的数组已经创建并在它到达这种排序方法时填充了,所以我不完全确定为什么它不像你的那样工作
  • 发布你的整个代码。
猜你喜欢
  • 1970-01-01
  • 2021-03-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-18
  • 1970-01-01
  • 2014-03-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多