Java 添加到按字母顺序排列的右侧链表中
我的任务是修改下面的代码,使其在链表中按字母顺序排列新元素。它当前将元素添加到列表的末尾Java 添加到按字母顺序排列的右侧链表中,java,linked-list,Java,Linked List,我的任务是修改下面的代码,使其在链表中按字母顺序排列新元素。它当前将元素添加到列表的末尾 public void add(String element) { Node newNode = new Node(element); if (first == null) first = newNode; else { // Find the predecessor of the element to add Node current
public void add(String element) {
Node newNode = new Node(element);
if (first == null)
first = newNode;
else {
// Find the predecessor of the element to add
Node current = first;
Node prev = null;
while (current != null) {
prev = current;
current = current.next;
}
// New last element
if (current == null)
prev.next = newNode;
else if (prev == null) {
newNode.next = first;
first = newNode;
}
}
}
您需要继续遍历该列表,直到到达的节点的字母顺序大于您要插入的节点 找出在链接列表上遍历代码的位置
while (current != null) {
prev = current;
current = current.next;
}
添加一个比较节点元素的条件
while (current != null && current.data < newNode.data) {
这似乎是一项合理的任务。你有问题吗?
else if
阻塞永远不会发生。您只需执行prev.next=newNode代码>如何按字母顺序对元素排序?我是否使用比较法?
prev.next = newNode
newNode.next = current