链接数组列表中的第一个元素未在我的插入排序中排序

问题描述 投票:0回答:1

我试图根据链表上找到的每个数组的第二个索引对数组链表进行排序。当我运行程序时,链接列表中的第一个元素没有放置在正确的位置,但其余元素正在排序

基于数组的第二个索引的排序数组链表

   public static void insertionSort(LinkedList list){

        for(int i = 1; i < list.size();i++){
            int j = i - 1;
            int[] temp = list.getAt(i);
            Node node2 = list.getNode(j+1);
            Node node1 = list.getNode(j);
            while(j>=0 && node1.data[2] > temp[2]){  
               node2.data = node1.data;
               j--;
            }
            node2.data = temp;
        }
        

}

} 输入:7787 7777 7707 输出:7787 7707 7777

java arrays linked-list insertion-sort
1个回答
0
投票

试试这个:

for(int i = 1; i < list.size(); i++) {
            int[] temp = list.getAt(i);
            int j = i - 1;
            while(j >= 0 && list.getAt(j)[1] > temp[1]) {
                list.setAt(j + 1, list.getAt(j));
                j--;
            }
            list.setAt(j + 1, temp);
        }
© www.soinside.com 2019 - 2024. All rights reserved.