c++双重指针在类成员中的应用

avatar
作者
筋斗云
阅读量:0

在 C++ 中,双重指针可以在类成员中应用,主要用于实现一些复杂的数据结构,例如双向链表、二叉树等。下面是一个简单的例子,演示如何在类成员中使用双重指针来实现一个双向链表。

#include <iostream> using namespace std;  class Node { public:     int data;     Node* prev;     Node* next; };  class DoublyLinkedList { public:     Node* head;     Node* tail;      DoublyLinkedList() : head(nullptr), tail(nullptr) {}      ~DoublyLinkedList() {         while (head != nullptr) {             Node* temp = head;             head = head->next;             delete temp;         }     }      void append(int data) {         Node* newNode = new Node();         newNode->data = data;         newNode->prev = tail;         newNode->next = nullptr;          if (tail != nullptr) {             tail->next = newNode;         } else {             head = newNode;         }          tail = newNode;     }      void print() {         Node* temp = head;         while (temp != nullptr) {             cout << temp->data << " ";             temp = temp->next;         }         cout << endl;     } };  int main() {     DoublyLinkedList list;     list.append(1);     list.append(2);     list.append(3);     list.print(); // Output: 1 2 3      return 0; } 

在这个例子中,我们定义了一个 Node 类,其中包含一个整型数据 data 和两个指向前后节点的指针 prevnext。然后我们定义了一个 DoublyLinkedList 类,其中包含两个指向链表头和尾部的指针 headtail

DoublyLinkedList 类中,我们实现了几个成员函数,包括 appendprintappend 函数用于在链表尾部添加一个新节点,print 函数用于打印链表中的所有元素。

通过使用双重指针,我们可以方便地实现链表中的节点的前后连接关系,从而实现一个双向链表。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!