21xrx.com
2024-12-27 21:15:18 Friday
登录
文章检索 我的文章 写文章
如何用C++创建链表?
2023-07-07 19:42:09 深夜i     --     --
C++ 链表 创建

C++是一种广泛使用的对象导向编程语言,支持动态内存分配。使用C++编程语言可以非常方便地创建链表数据结构。

链表是一种线性数据结构,它由一系列节点组成,每个节点包含数据和一个指向下一个节点的指针。链表可以用来实现栈、队列和其他一些数据结构。

在C++中创建链表的第一步是定义节点类。节点类包含一个数据成员和一个指向下一个节点的指针成员。下面是一个简单的节点类的示例:


class Node {

public:

  int data;

  Node* next;

  Node(int data)

    this->data = data;

    this->next = nullptr;

  

};

在这个示例中,我们定义了一个表示单个节点的类。节点包含一个“data”属性,用于存储节点的数据,以及一个指向下一个节点的“next”指针。

接下来,我们需要一个指向链表的头节点的指针。在创建链表时,通常将头节点初始化为“nullptr”。这是因为链表可能为空,此时头指针指向“nullptr”。


Node* head = nullptr;

接下来,我们可以编写一个函数来添加新节点到链表。此函数需要接受一个整数参数,该参数将是我们要添加到链表中的新节点的数据。


void addNode(int data) {

  Node* newNode = new Node(data);

  if (head == nullptr)

    // 如果链表为空

  else {

    // 如果链表不为空,则遍历链表,找到最后一个节点

    Node* temp = head;

    while (temp->next != nullptr)

      temp = temp->next;

    

    // 最后一个节点指向新节点

    temp->next = newNode;

  }

}

在这个示例中,我们创建了一个名为“addNode”的函数,它将一个整数作为参数。首先,该函数创建一个新节点,并将输入的整数值存储在该节点的“data”成员中。然后,该函数检查链表是否为空。如果是,它将头指针指向新节点。如果链表不为空,则函数遍历链表,找到最后一个节点,并将其“next”指针指向新节点。

最后,我们可以使用一个函数来遍历链表并打印它的值:


void printList() {

  Node* current = head;

  while (current != nullptr)

    std::cout << current->data << " ";

    current = current->next;

  

  std::cout << std::endl;

}

在这个示例中,我们创建了一个名为“printList”的函数,它遍历链表并打印每个节点的值。该函数首先将头指针赋给“current”变量,然后循环遍历链表,打印每个节点的值,直到“current”指针指向“nullptr”。

使用上述代码,我们可以创建一个简单的单向链表,向其添加节点,并打印链表的值。这个示例展示了如何使用C++创建一个基本的链表,但链表还有许多其他可能性和扩展。

  
  

评论区

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