第三章 線性表(2 鍊錶)

2021-08-16 06:07:22 字數 710 閱讀 5961

單鏈表結構與順序儲存結構優缺點:

簡單的對單鏈表結構和順序儲存結構做對比:

儲存分配方式

時間效能

空間效能

1.       順序儲存結構用一段連續的儲存單元依次儲存線性表的資料元素。

2.       單鏈表採用鏈式儲存結構,用一組任意的儲存單元存放線性表的元素。

1.       查詢

順序儲存結構 o( 1 )

單鏈表 o( n )

2.       查詢和刪除

順序儲存結構需要平均移動表長一半的元素。時間為 o( n ) ;

1.  順序儲存結構需要預分配儲存結構,分大了,浪費,分小了易發生上溢。

2.  單鏈表不需要分配儲存空間,只要有就可以分配,元素個數也不受限制。

若線性表需要頻繁查詢,很少進行插入和刪除操作時,宜採用順序儲存結構。若需要頻繁的插入和刪除時,宜採用單鏈表結構。

當線性表中的元素個數變化較大,或者根本不知道有多大時,最好用單鏈表結構,這樣可以不需要考慮儲存空間的大小問題。如果事先知道了線性表的大致長度,用順序儲存結構效率會高很多。

靜態鍊錶

用陣列表述的鍊錶叫做靜態鍊錶。這種描述方法還有起名叫做游標實現法。

/* 線性表的靜態鍊錶儲存結構 */

#define  maxsize  1000       /*  假設鍊錶最長的長度是1000  */

typedef   struct

第三章 線性表

一 順序表的儲存 include.h using namespace std const int maxsize 100 typedef int datatype typedef struct seqlist 二 順序表的操作 初始化順序表 void initlist seqlist l 建立順序表...

第三章線性表

線性表 零個或多個資料元素的有限序列.線性表的順序儲存結構 指的是用一段位址連續的儲存單元依次儲存線性表的資料元素.頭指標 頭指標是指鍊錶指向第乙個節點的指標,若煉表有頭結點,則是指向頭結點的指標.無論鍊錶是否為空,頭指標均不為空.頭指標是鍊錶的必要元素 頭結點 頭結點不是鍊錶的必須元素.頭結點是為...

第三章 鍊錶

redis中除了鍊錶鍵之外,發布與訂閱 慢查詢 監視器等功能也用到了鍊錶,redis伺服器本身還使用鍊錶來儲存多個客戶端的狀態資訊,以及使用鍊錶來構建客戶端輸出緩衝區。鍊錶節點定義 typedef struct listnode listnode 鍊錶型別定義 無環 表頭節點的prev指標和表尾節點...