gpt4 book ai didi

java - 按字母顺序插入链表

转载 作者:行者123 更新时间:2023-11-30 03:54:33 27 4
gpt4 key购买 nike

我正在尝试按姓氏将人员按字母顺序插入到链接列表中。我有一个非常奇怪的问题。如您所见,代码工作正常,但列表顺序相反。我不明白的是为什么当我使用这行代码时:

    current != null && lastName.compareTo(current.lastName) >= 0)

要将人员插入到我的列表中,我不是添加超过 100 人,而是添加 6 人。不过,正如我上面所说,我可以按照相反的顺序进行操作,没有问题。这是怎么回事?

    public void insert(String firstName, String lastName, String time,String show, String      command,int section){
PeopleNode newNode = new PeopleNode(lastName,firstName,time,show,command,section);
size++;
PeopleNode previous = null;
PeopleNode current = head;

while(current != null && lastName.compareTo(current.lastName) <= 0){
previous = current;
current = current.next;
}

if(previous == null){
head = newNode;
}else{
previous.next = newNode;
newNode.next = current;
}
}

最佳答案

我猜 compareTo 方法对于 String 来说是相反的,所以也许可以尝试

while(current != null && current.lastName.compareTo(lastName) <= 0)

但我建议您仅使用 Compareable 接口(interface),并使用 Collections.sort(yourlist) 对列表进行排序

关于java - 按字母顺序插入链表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23575982/

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