鍊錶的頭插法建立,尾插法建立,輸入,輸出,插入,刪除,按值查詢,按位查詢,刪除,銷毀操作
#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 線性表...