阅读量:0
在Java中,您可以使用LinkedList
类来实现有序链表
import java.util.LinkedList; public class OrderedLinkedList { public static void main(String[] args) { // 创建一个空的 LinkedList LinkedList<Integer> list = new LinkedList<>(); // 添加元素到有序链表 addInOrder(list, 5); addInOrder(list, 3); addInOrder(list, 7); addInOrder(list, 1); // 输出有序链表 System.out.println("Ordered LinkedList: " + list); } /** * 将指定元素添加到有序链表中 * @param list 有序链表 * @param value 要添加的值 */ public static void addInOrder(LinkedList<Integer> list, int value) { // 如果链表为空或新元素<=第一个元素,则将新元素添加到链表开头 if (list.isEmpty() || value <= list.getFirst()) { list.addFirst(value); } else { // 从头遍历链表,找到新元素应该插入的位置 for (int i = 0; i< list.size() - 1; i++) { if (value > list.get(i) && value <= list.get(i + 1)) { list.add(i + 1, value); break; } } // 如果没有找到合适的插入位置,说明新元素应该添加到链表末尾 if (!list.contains(value)) { list.addLast(value); } } } }
这个示例中,我们首先创建了一个空的LinkedList
。然后,我们通过调用addInOrder()
方法将元素按顺序添加到链表中。最后,我们打印出有序链表。
addInOrder()
方法会检查链表是否为空,或者新元素是否应该添加到链表的开头。接下来,它遍历链表,找到新元素应该插入的位置。如果没有找到合适的插入位置,说明新元素应该添加到链表末尾。