線性表的鏈式儲存結構之單鏈表

2021-10-05 02:02:20 字數 1762 閱讀 1776

void

initlist

(list plist)

//初始化

plist->next==

null

;}

2、插入元素(insert)

(1)宣告結點p指向鍊錶第乙個結點;

(2)當p!=null時,就遍歷鍊錶,讓p的指標向後移動,不斷指向下乙個結點,i++;

(3)若到鍊錶末尾p為空,則說明第i個元素不存在;

(4) 否則查詢成功,在系統中生成乙個空結點q;

(5) 將資料元素val賦值給q->data;

(6) 單鏈表的插入標準語句q->next=p->next; p->next=q;

(7) 返回成功。

//第乙個資料節點的下標為0

bool insert

(list plist,

int pos,

int val)

if(i//沒有pos下標

node *q=

(node *

)malloc

(sizeof

(node));

q->data=val;

//將q插入在p的後面

q->next=p->next;

p->next=q;

return true;

}

3、單鏈表的刪除( delete)

(1)宣告一結點p指向鍊錶的第乙個結點,初始化j從1開始。

(2)當jnext賦值給q;

(5)單鏈表的刪除標準語句p->next=q->next;

(6)將q結點中的資料賦值給key,作為返回;

(7)釋放q結點;

bool delete

(list plist,

int key)if(

!(p->next)

|| j>1)

return false;

q=p->next;

p->next =q->next;

key=q->data;

free

(q);

return true;

}

4、單鏈表的建立—頭插(insert_head)

從建立乙個空表開始,生成新結點,將讀入的資料存放到新結點的資料域中,然後將新結點插入到當前鍊錶的表頭結點,知道讀入結束時停止。

bool insert_head

(list plist,

int n)

return true;

}

4、單鏈表的建立—尾插

將新結點插入到當前單鏈表的表尾,增加乙個尾指標r,指向當前鍊錶的表尾

bool  insert_tail

(list plist,

int n)

r->next =

null

;return true;

}

5、單鏈表的整表刪除(clearlist)

(1)宣告一結點p和q;

(2)將第乙個結點賦值給p;

(3)迴圈:

將下一結點賦值給q; 釋放p;將q賦值給p。

bool clearlist (list *l)

(*l)

->next=

null

;//頭指標的指標域指為空

return true;

線性表的鏈式儲存結構 單鏈表

線性表中每個節點有唯一的前趨節點和後繼節點 每個 物理節點增加乙個指向後繼節點的指標域 單鏈表 每個物理節點增加乙個指向後繼節點和前趨節點的指標域 雙鏈表 單鏈表的特點 當訪問乙個節點後,只能接著它的後繼節點,而無法訪問它的前趨節點。1.單鏈表插入節點 操作 將值為x的新節點 s插入到 p節點之後 ...

線性表 鏈式儲存結構之單鏈表

ifndef linklist h define linklist h include include include template class node node const elemtype data data data next null node const elemtype data,...

Java基礎 線性表之鏈式儲存結構 單鏈表

鏈式儲存結構的線性表 簡稱為鍊錶 將採用一組位址任意的儲存單元存放線性表中的資料元素。鏈式儲存結構的線性表不會按線性的邏輯順序來儲存資料元素,它需要在每個資料元素中儲存乙個引用下乙個資料元素的引用 或者叫做指標 節點 資料元素 引用下乙個節點的引用 引用上乙個節點的引用 對於單鏈表通常有兩種建表方法...