資料結構線性表的鏈式儲存結構c語言版

2021-10-07 15:21:19 字數 1902 閱讀 2938

鍊錶的頭插法建立,尾插法建立,輸入,輸出,插入,刪除,按值查詢,按位查詢,刪除,銷毀操作

#include

#include

typedef int elemtype;

typedef struct lnodelnode,

*linklist;

listheadinsert

(linklist &

l,int n)

;//頭插法建立單鏈表

listtailinsert

(linklist &

l,int n)

;//尾插法建立單鏈表

listinsert

(linklist &

l,int i, elemtype e)

;//在某一結點前插入

listdeldata

(linklist &

l,int i)

;//刪除結點資料

listlocatedata

(linklist &

l,elemtype e)

;//按值查詢

listgetdata

(linklist &

l,int i)

;//按位置查詢

void

freelist

(linklist l);

//銷毀單鏈表

void

displaydata

(linklist l);

//單鏈表輸出

listheadinsert

(linklist &

l,int n)

printf

("建立成功!\n");

return1;

}listtailinsert

(linklist &

l,int n)

printf

("建立成功!\n");

return1;

}listlocatedata

(linklist &

l,elemtype e)

if(p-

>next==

null

&& p-

>data!=e)

else

return1;

}listgetdata

(linklist &

l,int i)if(

!p||count>i||i<=0)

printf

("該位置的資料是: %d\n "

,p->data)

;return1;

}listinsert

(linklist &

l,int i, elemtype e)if(

!p||count>i-1)

else

return1;

}listdeldata

(linklist &

l,int i)if(

!p||count>i-1)

q=p-

>next;

//令q指向被刪除的結點

p->next=q-

>next;

//將p結點指向待刪除結點的下乙個結點

free

(q);

//釋放結點的儲存空間

return1;

}void

freelist

(linklist l)l

=null

;//將頭結點指標為0

printf

("該鍊錶已成功被銷毀!\n ");

}void

displaydata

(linklist l

)printf

("\n");

}int main()

}}

資料結構 鏈式儲存線性表

鏈式儲存結構的線性表 簡稱為鍊錶 將採用一組位址任意的儲存單元存放線性表中的資料元素,鏈式結構的線性表不會按線性的邏輯順序來儲存資料元素,它需要在每乙個資料元素裡儲存乙個引用下乙個資料元素的引用。優點 插入 刪除元素快,充分利用計算機記憶體空間 缺點 查詢元素需要整體遍歷,空間開銷大 單鏈表 cre...

線性表的鏈式儲存 資料結構

為了表示每個資料元素與其直接後繼資料元素之間的邏輯關係,除了儲存本身的資訊之外,還需儲存乙個指示其直接後繼的資訊 即直接後繼的儲存位置 我們把儲存資料元素資訊的位置稱為資料域,把儲存其直接後繼資訊的位置稱為指標域。這兩部分組成資料元素的結點 node 頭結點頭結點是為了操作的統一和方便而設立的,放在...

資料結構 線性表之鏈式儲存結構

資料結構定義 common.h ifndef hi comm h define hi comm h include include include include define list init size 100 線性表儲存空間的初始分配量 define list increment 10 線性表...