Java

java中如何实现有序链表

小樊
88
2024-09-14 06:57:44
栏目: 编程语言

在Java中,可以使用LinkedList类来实现有序链表。首先,需要导入java.util.LinkedList包。然后,创建一个自定义的链表类,继承自LinkedList,并重写其中的添加元素方法(例如add()),以便在添加新元素时保持链表的有序性。

下面是一个简单的示例:

import java.util.LinkedList;

public class SortedLinkedList<E extends Comparable<E>> extends LinkedList<E> {

    @Override
    public boolean add(E element) {
        if (isEmpty()) {
            return super.add(element);
        }

        int index = 0;
        for (E e : this) {
            if (e.compareTo(element) > 0) {
                break;
            }
            index++;
        }

        add(index, element);
        return true;
    }

    public static void main(String[] args) {
        SortedLinkedList<Integer> sortedList = new SortedLinkedList<>();
        sortedList.add(5);
        sortedList.add(3);
        sortedList.add(7);
        sortedList.add(1);

        System.out.println(sortedList); // 输出: [1, 3, 5, 7]
    }
}

在这个示例中,我们创建了一个名为SortedLinkedList的类,它继承自LinkedList。我们重写了add()方法,使其在添加新元素时保持链表的有序性。在main()方法中,我们创建了一个SortedLinkedList对象,并向其中添加了一些整数。最后,我们打印出排序后的链表。

0
看了该问题的人还看了