我在下面有这段代码,我将一个新整数插入到一个排序的整数链表中,但我认为这不是“正确”的做事方式,因为我知道有指向下一个值的指针的单链表和指向下一个值的双链表指向下一个和上一个值的指针。我尝试使用节点来实现以下情况,但 Java 正在导入此导入 org.w3c.dom.Node(文档对象模型),因此卡住了。
插入盒
- 插入空数组
- 如果要插入的值小于所有值,则在开头插入。
- 如果要插入的值大于所有内容,则插入最后一个。
- 如果值小于/大于 LL 中的某些值,则可能介于两者之间。
import java.util.*;
public class MainLinkedList {
public static void main(String[] args) {
LinkedList<Integer> llist = new LinkedList<Integer>();
llist.add(10);
llist.add(30);
llist.add(50);
llist.add(60);
llist.add(90);
llist.add(1000);
System.out.println("Old LinkedList " + llist);
//WHat if you want to insert 70 in a sorted LinkedList
LinkedList<Integer> newllist = insertSortedLL(llist, 70);
System.out.println("New LinkedList " + newllist);
}
public static LinkedList<Integer> insertSortedLL(LinkedList<Integer> llist, int value){
llist.add(value);
Collections.sort(llist);
return llist;
}
}
原文由 cloudviz 发布,翻译遵循 CC BY-SA 4.0 许可协议
这可能完全符合您的目的:
使用此代码:
这种方法将以排序方式管理列表中的插入,而无需使用
Collections.sort(list)