91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

c++雙重指針在類成員中的應用

c++
小樊
82
2024-09-24 23:29:18
欄目: 編程語言

在 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 函數用于打印鏈表中的所有元素。

通過使用雙重指針,我們可以方便地實現鏈表中的節點的前后連接關系,從而實現一個雙向鏈表。

0
东源县| 琼海市| 防城港市| 蕉岭县| 汉源县| 独山县| 昌江| 西畴县| 白银市| 策勒县| 明溪县| 兰西县| 丹巴县| 庄河市| 衡阳县| 两当县| 泰州市| 沅江市| 洱源县| 鄯善县| 崇明县| 滁州市| 卫辉市| 北海市| 堆龙德庆县| 石台县| 吉安县| 揭阳市| 乐昌市| 浦县| 株洲县| 阳东县| 金阳县| 涪陵区| 梁平县| 繁昌县| 三都| 武功县| 三明市| 阿勒泰市| 赤壁市|