21xrx.com
2025-07-03 14:20:42 Thursday
文章检索 我的文章 写文章
如何用C++创建链表?
2023-07-07 19:42:09 深夜i     31     0
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++创建一个基本的链表,但链表还有许多其他可能性和扩展。

  
  

评论区