如何在java中使用有序链表

   2024-09-30 9680
核心提示:在Java中,您可以使用LinkedList类来实现有序链表import java.util.LinkedList;public class OrderedLinkedList {public static

在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);    }        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()方法会检查链表是否为空,或者新元素是否应该添加到链表的开头。接下来,它遍历链表,找到新元素应该插入的位置。如果没有找到合适的插入位置,说明新元素应该添加到链表末尾。

 
举报打赏
 
更多>同类物流大全
推荐图文
推荐物流大全
点击排行

网站首页  |  关于我们  |  联系方式 | 网站留言    |  赣ICP备2021007278号