欢迎访问宙启技术站
智能推送

addFirst()函数

发布时间:2023-07-06 13:12:42

addFirst()函数是一种在链表的开头插入一个新元素的操作。该函数有一个参数,即要插入的新元素的值。下面是一个实现该函数的示例代码:

class Node {
    int value;
    Node next;
    
    public Node(int value) {
        this.value = value;
        this.next = null;
    }
}

class LinkedList {
    Node head;
    
    public LinkedList() {
        this.head = null;
    }
    
    public void addFirst(int value) {
        Node newNode = new Node(value);
        
        if (head == null) {
            head = newNode;
        } else {
            newNode.next = head;
            head = newNode;
        }
    }
}

在上面的示例代码中,首先定义了一个Node类,表示链表中的一个节点。每个节点包含一个整数值和一个指向下一个节点的指针。

然后定义了一个LinkedList类,表示一个链表。该类有一个构造函数用来初始化链表的头节点。

addFirst()函数是LinkedList类的一个方法,用来在链表的开头插入一个新元素。该函数首先创建一个新的节点,将要插入的值赋给新节点的value属性。然后检查链表是否为空,如果为空,则将新节点直接设置为头节点。否则,将头节点设置为新节点的下一个节点,然后将新节点设置为头节点。

通过调用addFirst()函数,可以在链表的开头插入新的元素。这个操作的时间复杂度是O(1),因为只需要常数时间来完成插入操作,并不依赖于链表的长度。

总结起来,addFirst()函数是一种在链表的开头插入新元素的操作,通过将新节点设置为头节点,并将原来的头节点作为新节点的下一个节点,来实现在链表开头插入新元素的功能。