21xrx.com
2024-11-22 09:29:53 Friday
登录
文章检索 我的文章 写文章
如何在 c++ 中定义链表
2023-06-29 05:29:17 深夜i     --     --
C++ 链表 定义 指针 节点

C++是一种强大的编程语言,它提供了丰富的数据结构和算法库,其中链表是一个非常常用的数据结构。链表是由一系列节点连接而成的数据结构,每个节点包含数据和指向下一个节点的指针。在C++中,链表可以通过自定义结构体或类来定义和实现。下面是如何在C++中定义链表的方法。

第一步:定义节点结构体或类

链表的每个节点都包含数据和指向下一个节点的指针。因此,我们可以定义一个结构体或类来描述节点,如下所示:


struct ListNode {

  int val;

  ListNode* next;

  ListNode(int x) : val(x), next(NULL) {}

};

在上面的代码中,我们定义了一个结构体ListNode,它有两个成员变量:val和next。其中,val存储节点的数据,next是指向下一个节点的指针。为了方便初始化节点,我们还定义了一个带参数的构造函数。

第二步:定义链表类

链表由一系列节点连接而成,因此我们可以定义一个链表类,如下所示:


class LinkedList {

private:

  ListNode* head;

public:

  LinkedList() : head(NULL) {}

  void insert(int val) {

    ListNode* node = new ListNode(val);

    node->next = head;

    head = node;

  }

  void print() {

    ListNode* cur = head;

    while (cur != NULL)

      cout << cur->val << " ";

      cur = cur->next;

    

    cout << endl;

  }

};

在上面的代码中,我们定义了一个链表类LinkedList,它有一个成员变量head,表示链表的头节点。我们还定义了两个成员函数:insert和print。其中,insert函数用于在链表头部插入一个节点,print函数用于打印链表中所有节点的值。

第三步:使用链表类

使用链表类很简单,只需要创建一个LinkedList对象,然后调用insert函数插入节点,最后调用print函数打印链表即可,如下所示:


int main() {

  LinkedList mylist;

  mylist.insert(1);

  mylist.insert(2);

  mylist.insert(3);

  mylist.print();

  return 0;

}

在上面的代码中,我们创建了一个LinkedList对象mylist,然后在头部插入了三个节点,最后打印链表的值。运行程序,输出结果为3 2 1,表示链表中节点的值为3、2、1。

总结:

以上就是如何在C++中定义链表的方法。定义链表主要涉及到节点结构体或类的定义,以及链表类的定义和使用。链表是一种非常常用的数据结构,不仅能够存储数据,还可以用于实现许多高级算法。掌握链表的定义和使用方法对于C++程序员来说非常重要。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复