当前位置:首页 C++ > 正文

C++实现list链表数据结构

作者:野牛程序员:2023-12-28 11:22:57 C++阅读 2483

C++中可以使用指针和结构体来实现简单的链表数据结构。以下是一个基本的示例代码:

#include <iostream>

// 定义链表节点
struct Node {
    int data;
    Node* next;
    
    // 构造函数
    Node(int value) : data(value), next(nullptr) {}
};

// 定义链表类
class LinkedList {
private:
    Node* head;

public:
    // 构造函数
    LinkedList() : head(nullptr) {}

    // 在链表尾部添加元素
    void append(int value) {
        Node* newNode = new Node(value);
        if (head == nullptr) {
            head = newNode;
        } else {
            Node* current = head;
            while (current->next != nullptr) {
                current = current->next;
            }
            current->next = newNode;
        }
    }

    // 在链表头部添加元素
    void prepend(int value) {
        Node* newNode = new Node(value);
        newNode->next = head;
        head = newNode;
    }

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

    // 析构函数释放内存
    ~LinkedList() {
        Node* current = head;
        Node* nextNode;
        while (current != nullptr) {
            nextNode = current->next;
            delete current;
            current = nextNode;
        }
    }
};

int main() {
    // 创建链表并进行操作
    LinkedList myList;
    myList.append(1);
    myList.append(2);
    myList.prepend(0);
    myList.print();

    return 0;
}

此代码演示了如何定义一个简单的链表结构,包括在链表尾部和头部添加元素,以及打印链表元素。

野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击