首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C++ >> 關於C++

C++ 單鏈表從零手寫:節點創建、遍歷與基礎操作完整教學

     編輯:關於C++

什麼是單鏈表?

單鏈表是一種線性數據結構,由一系列節點組成,每個節點包含數據域與指向下一個節點的指針。它支持動態內存分配,插入刪除僅需修改指針,但查找需 O(n) 時間。

核心結構定義


struct Node {
    int data;
    Node* next;
    Node(int val = 0, Node* nxt = nullptr) : data(val), next(nxt) {}
};

手動創建鏈表示例

以下代碼演示如何逐個創建節點並串聯:


Node* head = new Node(44);
head->next = new Node(72);
head->next->next = new Node(220);

遍歷輸出函數


void show(Node* head) {
    Node* p = head;
    while (p) {
        cout << p->data;
        if (p->next) cout << "->";
        p = p->next;
    }
    cout << endl;
}

進階:封裝為 List 類

將頭指針私有化,提供 insert()、remove()、find() 等公共接口,並實現析構函數釋放所有節點,避免內存洩漏。

常見錯誤與調試技巧

  • 忘記判空導致空指針解引用。
  • 插入/刪除時未正確更新前驅節點的 next。
  • 析構函數中需逐個 delete,不能僅 delete head。

練習建議

嘗試實現:尾插法建表、頭插法建表、逆序鏈表、合併兩個有序鏈表、檢測環(快慢指針)。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved