用鏈式結構來實現表結構的各種操作
typedef
int element;
typedef
struct node* ptrnode;
typedef ptrnode position;
typedef ptrnode list;
//函式宣告
list createlist()
;// 建立乙個鍊錶
void
makeempty
(list list)
;// 刪除乙個鍊錶
intisempty
(list list)
;//測試鍊錶是否為空表
intislast
(position p, list list)
;//測試當前節點是不是鍊錶的結尾
position find
(element x, list list)
;// 查詢乙個元素,返回表元素的位置。
position findprevious
(element x,list list)
;// 查詢含有x的表元的前驅元p
void
printlist
(list list)
;// 列印鍊錶
void
deletelist
(element x,list list)
;// 刪除乙個元素
void
insertlist
(element x,list list)
;// 鍊錶的插入
position header
(list list)
;//返回表頭節點
position first
(list list)
;// 返回第乙個節點
position advance
(position p)
;// 返回下乙個節點
element retrieve
(position p)
;// 返回節點的值
struct node
;
//建立乙個空表,並返回表頭元素
list createlist()
//判斷表是否為空
intisempty
(list list)
//判斷節點是否為尾節點
intislast
(position p, list list)
//插入操作,鍊錶資料從小到大排列
void
insertlist
(element x, list list)
t = t->next;
t1 = t1->next;
} p->next = t->next;
t->next = p;
}// 列印鍊錶
void
printlist
(list list)
}//刪除乙個鍊錶
void
makeempty
(list list)
}//查詢乙個元素,返回元素的位置
position find
(element x, list list)
return p;
}//查詢含有x的表元的前驅元p
position findprevious
(element x, list list)
return p;
}//刪除乙個元素
void
deletelist
(element x, list list)
}//返回表頭節點
position header
(list list)
//返回第乙個節點
position first
(list list)
//返回下乙個節點
position advance
(position p)
//返回節點的值
element retrieve
(position p)
第三章 鍊錶
redis中除了鍊錶鍵之外,發布與訂閱 慢查詢 監視器等功能也用到了鍊錶,redis伺服器本身還使用鍊錶來儲存多個客戶端的狀態資訊,以及使用鍊錶來構建客戶端輸出緩衝區。鍊錶節點定義 typedef struct listnode listnode 鍊錶型別定義 無環 表頭節點的prev指標和表尾節點...
第三章 線性表(2 鍊錶)
單鏈表結構與順序儲存結構優缺點 簡單的對單鏈表結構和順序儲存結構做對比 儲存分配方式 時間效能 空間效能 1.順序儲存結構用一段連續的儲存單元依次儲存線性表的資料元素。2.單鏈表採用鏈式儲存結構,用一組任意的儲存單元存放線性表的元素。1.查詢 順序儲存結構 o 1 單鏈表 o n 2.查詢和刪除 順...
第三章 結構表
線性表 零個或多個相同特性的資料元素的有限序列。首先它是乙個序列,元素之間是有順序 的,第乙個元素無前驅,最後乙個元素無後繼,其他的都有且只有乙個前驅和後繼。而所有元素按這種1對1的鄰接關係構成的整體就是線性表。線性表的儲存結構 線性表有順序表和鏈式兩類儲存結 構 一 順序表 順序表就是把線性表中的...