線性表線性表是最基本、最簡單、也是最常用的一種資料結構。
優點:記憶體占用少,查詢快,增刪慢。
增刪慢的原因是,在中間新增乙個元素,其他所有的元素需要向後挪。耗能高所以慢。
陣列,佇列和棧。
佇列(queue):
一種特殊的線性表,先進先出(fifo)只能刪除表的前端,只能新增到表的尾端。
棧(stack):一種運算受阻的線性表,先進後出(如電梯),只能在一端進行新增刪除,最先新增的到了最底部。
鍊錶煉表是一種物理儲存單元上非連續、非順序的儲存結構,資料元素的邏輯順序是通過鍊錶中的指標鏈結次序實現的。
優點:增刪快,線性開銷少,擴充套件性好,但查詢很慢。
增刪快,查詢慢的原因:鍊錶由一系列的節點node組成,每個節點包含兩個部分,乙個是儲存資料元素的資料域val,另乙個是儲存下乙個節點位址的區域next。所以增加刪除都是將next對應的切換下位址就行了。但查詢的話就需要乙個乙個的經過才能查詢到。
如何判斷單鏈表是否是迴圈鍊錶。
快慢指標法。設定兩個指標,慢指標和快指標,讓快的指標比慢的指標每次移動快兩次。如果快的指標趕上慢指標,則為迴圈鍊錶。否則不是。
public boolean isloop(node head)
return false;
}
線性表 鍊錶
線性表的adt list.h 線性表的c 抽象類宣告 templateclass list 單鏈表節點的定義 link.h 單鏈表節點類的定義 template class link link link nextval null 鍊錶的實現宣告 成員函式的是實現 鍊錶的實現宣告 include st...
線性表 鍊錶
include include typedef int elemtype typedef struct node lnode,linklist linklist createlinklist1 頭插法 linklist createlinklist2 尾插法 void lengthlinklist ...
線性表,鍊錶
資料的儲存結構分為鏈式儲存結構,線性儲存結構。不管什麼型別的資料結構,都會以這兩種儲存方式在計算機中儲存。線性儲存結構就是開闢一段連續的記憶體 記憶體大小已經確定 將資料儲存在這段連續記憶體中,這種儲存結構的優點是可以快速地取出元素,時間複雜度為o 1 缺點是插入和刪除需要移動大量的元素,時間複雜度...