第三章 鍊錶

2021-10-02 05:59:18 字數 742 閱讀 5622

redis中除了鍊錶鍵之外,發布與訂閱、慢查詢、監視器等功能也用到了鍊錶,redis伺服器本身還使用鍊錶來儲存多個客戶端的狀態資訊,以及使用鍊錶來構建客戶端輸出緩衝區。

// 鍊錶節點定義

typedef

struct listnode listnode;

// 鍊錶型別定義

無環:表頭節點的prev指標和表尾節點的next指標都指向null,對鍊錶的訪問以null為終點。

帶表頭指標和表尾指標:通過list結構的head指標和tail指標,程式獲取鍊錶的表頭節點和表尾節點的複雜度為o(1)。

帶鍊錶長度計數器:程式使用list結構的len屬性來對list持有的鍊錶節點進行計數,程式獲取鍊錶中節點數量的複雜度為o(1)。

多型:鍊錶節點使用void*指標來儲存節點值,並且可以通過list結構的dup、free、match三個屬性為節點值設定型別特定函式,所以鍊錶可以用於儲存各種不同型別的值。

第三章 結構表

線性表 零個或多個相同特性的資料元素的有限序列。首先它是乙個序列,元素之間是有順序 的,第乙個元素無前驅,最後乙個元素無後繼,其他的都有且只有乙個前驅和後繼。而所有元素按這種1對1的鄰接關係構成的整體就是線性表。線性表的儲存結構 線性表有順序表和鏈式兩類儲存結 構 一 順序表 順序表就是把線性表中的...

資料結構 第三章 鍊錶

靜態操作 get search 動態操作 insert remove 靜態儲存 如向量,物理次序與邏輯次序嚴格一致,在靜態操作上迅速,動態慢,get o 1 search o logn 動態儲存 如果鍊錶,動態的分配和 記憶體空間 鍊錶中,相鄰結點互稱為前驅和後繼,鍊錶一般採用循位置訪問 鍊錶的端點...

第三章 線性表(2 鍊錶)

單鏈表結構與順序儲存結構優缺點 簡單的對單鏈表結構和順序儲存結構做對比 儲存分配方式 時間效能 空間效能 1.順序儲存結構用一段連續的儲存單元依次儲存線性表的資料元素。2.單鏈表採用鏈式儲存結構,用一組任意的儲存單元存放線性表的元素。1.查詢 順序儲存結構 o 1 單鏈表 o n 2.查詢和刪除 順...