我试图根据链表上找到的每个数组的第二个索引对数组链表进行排序。当我运行程序时,链接列表中的第一个元素没有放置在正确的位置,但其余元素正在排序
基于数组的第二个索引的排序数组链表
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
试试这个:
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);
}