在資料結構與演算法中,鍊錶是乙個稍微有些難以理解的資料結構。本文主要總結鍊錶的基本程式設計用法,通過建立乙個鍊錶和呼叫鍊錶每個節點的資料**,展示基本的鍊錶資料結構用法。
1.1原理講解
鍊錶是在物理上可以是非連續的儲存空間,由一片片儲存區域組成,每個儲存區域又被成為節點,每個節點又指向下乙個節點,用乙個煉表頭和鍊錶尾串起來,所以被稱為鍊錶。鍊錶的每個節點由兩部組成,分別是資料區和指標。資料區儲存需要的資料,指標指向下乙個節點。下面是乙個煉表示意圖:
由上圖可知,鍊錶每個節點都由資料區和指標區域組成,這些節點通過指標指向下乙個節點。
1.2**實現
用**實現鍊錶,主要有如下步驟:
1.2.1先建立乙個節點
1.2.2建立乙個鍊錶類,用乙個create()函式實現鍊錶的建立。函式主要思路是先依次new指定數量的節點空間,並且依次初始化對節點中應資料區資料內容。然後用指標依次見這些節點鏈結起來,形成鍊錶結構。
1.2.3呼叫print函式,依次獲取每個節點指標,用這個指標呼叫該節點資料區資料進行列印輸出;
1.2.4在類的析構函式中,依次釋放每個節點的儲存空間!記住,否則會造成記憶體洩露!!!
#include using namespace std;
//節點
typedef struct _node
}node;
//鍊錶類:核心是當前節點指標指向下乙個節點
class linklist
~linklist() }
void create(const int count)
tmp = node;
} node->next = end; //鍊錶末尾結束標誌,沒有儲存節點
} void print() const }
private:
node *head; //表頭
node *end; //結束標誌
int length; //鍊錶長度:含有的節點個數
參考:鍊錶建立和釋放、列印)(重點參考!!!)
參考:鍊錶建立)
參考:鍊錶原理和程式設計實現步驟講解)
參考:鍊錶建立和呼叫、理論)
C 資料結構 鍊錶(鍊錶節點建立)
本文是為了以下建立鍊錶更加方便,而編寫的c 標頭檔案,作用是建立乙個節點類,此處不採用class,而用struct。struct和class的區別在於 二者的訪問許可權不同!前者 訪問許可權是public 後者 訪問許可權是private 節點類的標頭檔案 如下 ifndef listnode hh...
C語言資料結構 建立鍊錶與銷毀鍊錶
鍊錶的物理儲存結構是用一組位址任意的儲存單元儲存資料 鍊錶結構中,儲存的每個資料元素記錄都存放到鍊錶的乙個結點 node 中,而每個結點之間由指標將其連線在一起。鍊錶存在以下特徵 2 鍊錶邏輯上連續,物理上並不一定連續儲存結點。3 只要獲得的頭結點,就可以通過指標遍歷整條鍊錶 鍊錶結點用c語言描述 ...
資料結構 鍊錶的建立 刪除
1 介紹 鍊錶是一種物理儲存單元上非連續 非順序的儲存結構,資料元素的邏輯順序是通過鍊錶中的指標鏈結次序實現的。鍊錶由一系列結點 鍊錶中每乙個元素稱為結點 組成,結點可以在執行時動態生成。2 優點 使用鍊錶結構可以克服陣列鍊錶需要預先知道資料大小的缺點,鍊錶結構可以充分利用計算機記憶體空間,實現靈活...