單鏈表的定義

2021-10-18 14:33:54 字數 1260 閱讀 9313

總結用鏈式儲存實現了線性結構,乙個結點儲存乙個資料元素,各個結點的先後關係用乙個指標表示

沒有使用typedef時

struct lnode

;struct lnode* p=

(struct lnode *

)malloc

(sizeof

(struct lnode));

//增加乙個新結點,在記憶體中申請一片空間,並用指標p指向這個結點

typedef為關鍵字,即資料型別重新命名

typedef《資料型別》《別名》

eg typedef int zhengshu

int x=1 可為 zhengshu x=1

使用了typedef

typedef

struct lnodelnode,

*linklist;

//等同於以下**

struct lnode

;typedef

struct lnode lnode;

typedef

struct lnode *linklist;

注:要表示乙個單鏈表,只需要申明乙個頭指標,指向單鏈表的第乙個結點

lnode *l;

linklist l;

兩者均為申明指向單鏈表第乙個結點的指標

前者強調這是乙個結點,後者強調這是乙個單鏈表

//不帶頭結點的單鏈表

typedef

struct lnodelnode,

*linklist;

bool initlist

(linklist &l)

//判斷鍊錶是否為空

bool empty

(linklist l)

void

test()

//帶頭結點的單鏈表

typedef

struct lnodelnode,

*linklist;

bool initlist

(linklist &l)

//判斷鍊錶是否為空

bool empty

(linklist l)

void

test()

單鏈表不要求大量連續的儲存空間,改變容量方便,但不可隨機訪問,要耗費一定空間存放指標

單鏈表的定義

單鏈表 線性表的鏈式儲存,通過一組任意的儲存單元來儲存線性表中的資料元素。struct lnode 定義單鏈表結點型別 lnode,linklist 別名 typedef struct lnode 定義單鏈表結點型別 lnode,linklist 別名 初始化乙個空的單鏈表 bool initlis...

單鏈表的查詢,定義(考研)

知識總覽 按位查詢 下題中假設i 8時,當迴圈到第五次時超出鍊錶長度返回為null 封裝 基本操作 的好處 避免重複 簡潔,易保護。封裝的 我們應該時刻考慮 的健壯性,就是要考慮 的邊界在哪。按值查詢 當我們傳入乙個數值想找到這個數值的所在位置。我們應該用怎樣的方法去實現。求表的長度 表的長度使用的...

單鏈表的表頭定義的想法

1.對於typedef的思考 typedef struct nodenode,linklist 上面這樣是可以定義鍊錶,但是要明白那兩個node node的區別。小寫的node是struct本身的名字,遞迴時需要用到的,下面的node是typedef的作用,便於我們在對對鍊錶操作定義節點時候區分開的...