21xrx.com
2024-11-25 03:17:16 Monday
登录
文章检索 我的文章 写文章
C++链表实现方法
2023-06-30 12:13:48 深夜i     --     --
C++ 链表 实现 方法

C++链表是一种常见的数据结构,它是由一组节点组成的序列,每个节点包含一个数据和一个指向后继节点的指针。在C++中,我们可以使用指针来实现链表。

首先,我们需要定义一个节点类,它包含数据成员和一个指向后继节点的指针成员。可以使用下面的代码来实现:


class Node {

public:

 int data;    // 数据成员

 Node* next;   // 指向后继节点的指针成员

};

然后,我们可以定义一个链表类,它包含头节点和尾节点,以及一些操作函数,比如添加节点、删除节点、遍历链表等。可以使用下面的代码来实现:


class LinkedList {

public:

 Node* head;   // 头节点

 Node* tail;   // 尾节点

 // 构造函数

 LinkedList()

  head = nullptr;

  tail = nullptr;

 

 // 添加节点

 void addNode(int data) {

  Node* newNode = new Node;

  newNode->data = data;

  newNode->next = nullptr;

  if (head == nullptr)

   head = newNode;

   tail = newNode;

   else

   tail->next = newNode;

   tail = newNode;

  

 }

 // 删除节点

 void deleteNode(int data) {

  if (head == nullptr)

   return;

   else if (head->data == data) {

   Node* temp = head;

   head = head->next;

   delete temp;

  } else {

   Node* temp = head;

   while (temp->next != nullptr && temp->next->data != data)

    temp = temp->next;

   

   if (temp->next == nullptr)

    return;

   

   Node* deleteNode = temp->next;

   temp->next = temp->next->next;

   delete deleteNode;

   if (temp->next == nullptr)

    tail = temp;

   

  }

 }

 // 遍历链表

 void traverse() {

  Node* temp = head;

  while (temp != nullptr)

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

   temp = temp->next;

  

  std::cout << std::endl;

 }

};

使用这个类来创建链表非常简单。只需要创建一个对象并调用addNode函数添加节点即可。删除节点和遍历链表也非常容易,只需要调用对应的函数即可。

总之,C++链表是一种非常有用的数据结构,它可以用来存储一组数据,并且支持快速添加、删除和遍历节点。使用指针来实现链表可以让代码更加简洁和高效。

  
  

评论区

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