本節課介紹了單鏈表的操作實現細節,介紹了靜態鍊錶。
鍊錶帶頭的作用:對鍊錶進行操作時,可以對空表、非空表的情況以及 對首元結點進行統一處理,程式設計更方便。
下面給出帶頭的單鏈表實現思路:
按下標查詢:
判斷非法輸入,當 1
p = l -> next; j = 1;
while ( p && j < i )
return
按值查詢:
p = l1 -> next;
while ( p && p ->data!=key) p = p -> next;
return;
插入:判斷
查詢建立
插入刪除:
查詢刪除
釋放記憶體
對於線性鍊錶,也可用一維陣列來進行描述。這種描述方法便於在沒有指標型別的高階程式語言中使用鍊錶結構。
這種儲存結構,仍需要預先分配乙個較大的空間,但在作為線性表的插入和刪除操作時不需移動元素,僅需修改指標,故仍具有鏈式儲存結構的主要優點。
表示:#define maxsize 1000 / /鍊錶的最大長度
typedef structcomponent, slinklist[maxsize];
過程:
資料結構課上筆記2
今天繼續說明了一些基本概念,講解了時間空間複雜度。對於概念的掌握也很重要 元素之間的關係在計算機中有兩種表示方法 順序映像和非順序映像,由此得到兩種不同的儲存結構 順序儲存結構和鏈式儲存結構。順序 根據元素在儲存器中的相對位置表示關係 鏈式 借助指標表示關係 資料型別 是乙個值的集合和定義在這個值集...
資料結構課上筆記12
一般二叉樹 將其每個結點與完 全二叉樹上的結點相對照,儲存在一 維陣列的相應分量中。最壞情況 樹退化為線性後 深度為 k 的且只 有 k 個結點的右單支樹需要 長度為2 k 1 的一維陣列。lchild和rchild都是指向相同結構的指標 在 n 個結點的二叉鍊錶中有 n 1 個空指標域。typed...
資料結構課上筆記14
圖是一種 資料元素間存在多對多關係的資料結構 加上一組基本操作構成的抽象資料型別。圖 graph 是一種複雜的非線性資料結構,由頂點集合及頂點間的關係 也稱弧或邊 集合組成。可以表示為 g v,vr 其中 v 是頂點的有窮非空集合 vr 是頂點之間 關係的有窮集合,也叫做弧或邊集合。弧是頂點的有序對...