117.info
人生若只如初见

c++链表怎么实现

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

#include 

// 定义节点结构体
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函数中创建一个链表对象,插入几个节点并打印链表内容。

未经允许不得转载 » 本文链接:https://www.117.info/ask/fede0AzsIAARSBVU.html

推荐文章

  • c#反序列化如何处理复杂类型

    在C#中,处理复杂类型的反序列化通常需要使用JSON或XML序列化和反序列化库,如Newtonsoft.Json或System.Xml.Serialization。以下是一些处理复杂类型反序列化的示...

  • c#反序列化遇到循环引用怎办

    在C#中,如果在反序列化过程中遇到循环引用(即对象之间相互引用),可以使用Json.NET库中的PreserveReferencesHandling属性来处理循环引用。
    具体做法是在...

  • c#反序列化中JSON和XML比较

    在C#中,反序列化JSON和XML都是通过使用相应的类库来实现的。JSON反序列化通常使用Newtonsoft.Json库,而XML反序列化通常使用System.Xml.Serialization库。

  • c#反序列化可以并行吗

    在C#中,反序列化通常是在单线程中执行的,因为它涉及到解析和构造对象的过程,需要确保数据的完整性和正确性。然而,你可以通过使用异步的方式来实现并行反序列...

  • python如何打印爱心

    要在Python中打印一个爱心,可以使用以下代码:
    print(" ♥ ♥ ♥ ♥ ♥ ♥")
    print(" ♥ ♥")
    print("♥ ♥")
    print("♥ ♥")
    print(...

  • mysql如何查看当前用户权限

    要查看当前用户的权限,可以通过以下命令在MySQL中查看:
    SHOW GRANTS; 这将列出当前用户拥有的所有权限。如果要查看特定用户的权限,可以使用以下命令:

  • 如何查看linux服务器ip

    要查看Linux服务器的IP地址,可以通过以下几种方法: 使用ifconfig命令:在终端中输入 ifconfig 命令,可以查看当前服务器的网络配置信息,包括IP地址、子网掩码...

  • linux服务器怎么查看防火墙

    在 Linux 服务器上,可以使用以下命令来查看防火墙的状态: 查看防火墙状态: sudo systemctl status firewalld 查看防火墙规则: sudo firewall-cmd --list-all...