c++

c++链表怎么实现

小亿
84
2024-08-01 18:00:12
栏目: 编程语言

在C++中,链表可以通过定义一个结构体来实现。

#include <iostream>

// 定义节点结构体
struct Node {
    int data;
    Node* next;
    
    Node(int val) : data(val), next(nullptr) {}
};

// 定义链表类
class LinkedList {
private:
    Node* head;
public:
    // 构造函数
    LinkedList() : head(nullptr) {}

    // 插入节点
    void insert(int val) {
        Node* newNode = new Node(val);
        if (head == nullptr) {
            head = newNode;
        } else {
            Node* current = head;
            while (current->next != nullptr) {
                current = current->next;
            }
            current->next = newNode;
        }
    }

    // 打印链表
    void print() {
        Node* current = head;
        while (current != nullptr) {
            std::cout << current->data << " ";
            current = current->next;
        }
        std::cout << std::endl;
    }
};

int main() {
    LinkedList list;
    list.insert(1);
    list.insert(2);
    list.insert(3);

    list.print();

    return 0;
}

以上代码实现了一个简单的单链表,包括插入节点和打印链表的功能。通过定义结构体Node表示链表节点,然后在链表类LinkedList中实现插入节点和打印链表的方法。在main函数中创建一个链表对象,插入几个节点并打印链表内容。

0
看了该问题的人还看了