鍊錶分為兩種:動態和靜態
動態的結合相關函式能動態開闢記憶體,特點就是不會浪費記憶體單元;
靜態鍊錶則沒有這個優點。
靜態鍊錶和動態鍊錶是線性表鏈式儲存結構的兩種不同的表示方式。靜態鍊錶的初始長度一般是固定的,在做插入和刪除操作時不需要移動元素,僅需修改指標。動態鍊錶是相對於靜態鍊錶而言的,一般地,在描述線性表的鏈式儲存結構時如果沒有特別說明即預設描述的是動態鍊錶。
鍊錶不用像陣列那樣,非得要在記憶體中連續存放。
假設鍊錶第乙個元素的位址是6000,那麼第二個元素的位址不用是6001,可以是12012,也可以是其他值。
那麼第乙個元素如何找到第二個元素呢?
當知道第乙個元素後,如果知道了第二個元素的位址,那麼便可以找到第二個元素。
所以鍊錶的元素裡至少有兩個資料:該鍊錶元素本身的值;以及指向下乙個元素位址的指標。
只是最後乙個元素指向的是 空位址 null 。
C語言靜態鍊錶和動態鍊錶
1.靜態鍊錶 結構體中的成員可以是各種型別的指標變數,當乙個結構體中有乙個或多個成員的基型別是本結構體型別時,則稱這種結構體為 引用自身的結構體 如 struct link a p是乙個可以指向 struct link 型別變數的指標成員。因此,a.p a 是合法的表示式,由此構成的儲存結構如圖1所...
資料結構 靜態鍊錶和動態鍊錶
通過指標將資料連線起來 整個資料結構中,很重要的一點是,初始化和銷毀對應,插入和刪除對應,有malloc new 有free delete 一定要對應。鍊錶的各項操作,最關鍵的,其實就是找到被操作元素的上乙個元素,插入位置的上乙個元素,或者要刪除元素的上乙個元素,這都是非常關鍵的,同時也要注意,鍊錶...
靜態鍊錶和迴圈鍊錶
所謂靜態鍊錶,與指標型描述的鍊錶 動態鍊錶 的區別在於靜態鍊錶借用一維陣列來描述鍊錶.這種儲存型別需要預先分配乙個較大的空間.其結構如下圖 與動態鍊錶操作時最大的區別在於 靜態鍊錶需由使用者自己實現malloc和free函式.為了辨明陣列中哪些分量未被使用,解決的辦法是 將所有未被使用過的以及被刪除...