順序錶鏈表
空間效能
順序表的儲存空間是靜態分布的,需要乙個固定長度的陣列,因此總有部分陣列元素被浪費。
鍊錶的儲存空間是動態分布的,因此不會產生空間的浪費。但是需要額外的空間來為每個節點儲存引用。
時間效能
順序表中元素的邏輯順序和物理儲存順序是保持一致的,因此支援隨機讀取,在查詢、讀取方面效能較好。
鍊錶採用鏈式結構儲存資料,因此在插入、刪除元素時效能較好。
如下圖:
從某種程度上來講,線性表是陣列的加強:
其中,arraylist就是順序線性表,linkedlist就是鏈式線性表。對於初學者,只要會使用jdk提供的線性表即可,可以檢視下相關的原始碼,對其實現原理有所了解,待小有所成後,可以自己動手編寫線性表的實現。
線性表實現
僅由乙個結構體組成,定義及實現如下所示 struct order list typedef struct order list list 指向該結構體的指標 初始化 list initial 查詢元素x的下標 intfind list l,elementtype x 在位置p前插入元素x bool ...
線性表的實現
線性表 liner list 線性表的順序儲存及操作實現 所謂順序儲存就是把線性表的各元素依次順序地存放倒計算機記憶體中的一組位址連續的儲存單元。採用順序儲存的線性表又叫順序表。順序表是一種隨機訪問的儲存結構。順序表的操作實現 define maxlen 100 tpyedef struct lis...
線性表的實現
個人覺得比較難的幾個地方是 1.指標的使用.你會突然發現c學的簡單的指標不夠用了,需要學更多的關於指標的東西 2.關於陣列角標的計算.這種東西拿特殊情況帶一下就能算出來啦.下面還是po出我的 供大家交流學習 title array function practice 1 date 2016 9 29...