順序表的 鏈式儲存(鍊錶)

2021-10-09 19:22:40 字數 966 閱讀 8046

一.單鏈表節點的型別定義

typedef

int elemtype

typedef

struct node lnode,

*linklist;

lnode *h,

*p;//linklist h,p;

其中

(*p)表示p指向的節點

(*p).data<=>p->data表示p指向節點的資料域

(*p).next<=>p->next表示p指向節點的指標域

二.帶頭結點的單鏈表的初始化

int lnitlist (linklist &l)

鍊錶的輸出

void

out(linklist h)

}

三. 求鍊錶的表長

int listlength

//移動p指向下一節點

return j;

}

四、取第i個元素 (找到第i個元素的位址)

linklist listget

(linklist l,

int i)

if(j==i)

return p;

else

return

null

;}

五、找值為x的節點

linklist listfind

(linklist h,elemtype x)if(

!p)return error;

else

return p;

}

六、找l中p的前驅

鍊錶的順序儲存和鏈式儲存的區別

順序儲存就是順序表 鏈式儲存就是鍊錶 基於空間的比較 1.儲存分配方式 順序表的儲存空間是一次性分配的,且是連續的儲存空間 鍊錶的儲存空間是多次分配的,不需要是連續的 2.儲存密度 儲存密度 結點值域所佔的儲存量 結點結構所佔的儲存空間的總量 順序表的儲存密度 1,鍊錶的儲存密度小於1 結點中包含指...

鍊錶之鏈式儲存

優點 1 空間儲存方便,現用現申請 2 插入刪除,只針對單一資料,不需要移動大量資料 缺點 1 讀取,插入,刪除慢,需要從頭查詢,時間複雜度均為o n typedef struct nodenode intmain void getnode node l,int n,node tar if p i ...

鍊錶之鏈式儲存

優點 1 空間儲存方便,現用現申請 2 插入刪除,只針對單一資料,不需要移動大量資料 缺點 1 讀取,插入,刪除慢,需要從頭查詢,時間複雜度均為o n typedef struct nodenode intmain void getnode node l,int n,node tar if p i ...