C 資料結構 鍊錶(鍊錶節點建立)

2021-08-06 04:00:38 字數 1090 閱讀 6166

本文是為了以下建立鍊錶更加方便,而編寫的c++標頭檔案,作用是建立乙個節點類,此處不採用class,而用struct。

struct和class的區別在於:

二者的訪問許可權不同!!!!

前者:訪問許可權是public

後者:訪問許可權是private

節點類的標頭檔案**如下:

#ifndef listnode_hh

#define listnode_hh

#include

#define listnodeposi(t) listnode* //後面使用方便,也可以不用此巨集定義

template

struct listnode //預設建構函式

listnode(t _val, listnodeposi(t) p = null, listnodeposi(t) s = null) :data(_val), pred(p), succ(s) {}//3個引數的建構函式

listnodeposi(t) insertaspred(t const& _val);//作為前驅插入

listnodeposi(t) insertassucc(t const& _val);//作為後繼插入

};//作為前驅插入時,首先講當前this節點的前驅的後繼給待插入的節點x,然後再把前驅給x,前者是將x的前驅連線上,後者是將x的後繼連線到當前this節點

template

listnodeposi(t) listnode::insertaspred(t const& _val)

//作為後繼插入時,首先將當前this節點的***後繼的前驅***給待插入的節點x,然後再把後繼給x,前者是將x的後繼連線上,後者是將x的前驅連線到當前this節點

template

listnodeposi(t) listnode::insertassucc(t const& _val)

#endif

參考:

清華大學鄧俊輝教授《資料結構》

在此基礎上,做了些許修改,使之更容易理解與呼叫。

本系列文章僅用於記錄,用於學習,沒有商業用途。

C語言資料結構 建立鍊錶與銷毀鍊錶

鍊錶的物理儲存結構是用一組位址任意的儲存單元儲存資料 鍊錶結構中,儲存的每個資料元素記錄都存放到鍊錶的乙個結點 node 中,而每個結點之間由指標將其連線在一起。鍊錶存在以下特徵 2 鍊錶邏輯上連續,物理上並不一定連續儲存結點。3 只要獲得的頭結點,就可以通過指標遍歷整條鍊錶 鍊錶結點用c語言描述 ...

資料結構 鍊錶 雙向鍊錶

注意typedef的定義結構,以及dinklist的資料型別 typedef struct dnode dnode,dinklist 注意插入第乙個結點時,prior指標的空指向問題 if l next null 若l後繼結點為空 則省略該步驟 l next prior p 基本 頭插法建立雙向鍊錶...

資料結構鍊錶 靜態鍊錶

1 在這裡我們首先要複習一下鍊錶c語言的定義 這看起來很簡單,但實際上至關重要!data域 存放結點值的資料域。next域 存放結點的直接後繼的位址 位置 的指標域 鏈域 也就是說next域儲存的是乙個位址,這個位址是下一節點的位址。注意 鍊錶通過每個結點的鏈域將線性表的n個結點按其邏輯順序鏈結在一...