資料結構學習之特殊線性表 佇列

2021-08-22 03:28:04 字數 1071 閱讀 7167

順序基本定義

typedef 100 maxsize;

typedef int elemtype;

elemtype item[maxsize];

int front;

int rear;

結構定義

#define maxsize 100;

typedef int elemtype;

struct qnode;

struct qnode queue;

鏈式結構

struct qhead

;struct qnode ;

;一、佇列的順序初始化

initq (struct qnode queue)

2.置空佇列

clear(struct qnode queue)

3.判斷佇列是否為空

int emptyq(struct qnode queue)

4.佇列滿運算

int fullq(struct qnode queue)

5.求佇列長度

int lengthq(struct qnode queue)

6.資料元素入隊

void insertq(struct qnode queue,elemtype k)

7.資料元素出隊

elemtype deleteq(struct qnode queue)

else }

二、佇列的鏈式儲存

1.初始化鏈隊

struct qhead *initq(struct qhead *p)

2.置空鍊錶

同初始化一樣

3.判斷鍊錶為空

int emptyq(struct qhead *p)

4.元素k入隊

在鏈隊尾插入乙個資料域為k的結點

struct qhead *insertq(struct qhead *p,elemtype k)

else }

5.資料元素出鏈隊

elemtype deletq(struct qnode *p)

}迴圈佇列

資料結構學習 線性表

線性表一般分為順序結構和鏈式結構。順序表裡面元素的位址是連續的,如陣列 鍊錶裡面節點的位址不是連續的,是通過指標連起來的,如單鏈表 順序結構 優點 易於查詢,索引快 list n 這樣的操作,o 1 複雜度。缺點 擴充套件性弱,不易刪除 插入,這兩項操作均是o n 的時間複雜度 鍊錶結構 優點 擴充...

資料結構學習 線性表

考試前複習下資料結構,把一些知識點整理在這!主要參考了殷人昆主編的 資料結構 用物件導向方法與c 語言描述 這本書,以及中山大學劉聰老師的課件內容!鍊錶雙鏈表 線性表 linear list 是由n n 0 個資料元素 結點 a 0 a 1 a 2 a n 1 組成的有限序列。維基百科 線性表是乙個...

資料結構學習 線性表

鏈式儲存用指標表示邏輯結構,可以很方便的表示各種邏輯結構。順序儲存結構中,插入和刪除結點需要大量的移動元素,效率很低。順序儲存結構既可以順序訪問也可以隨機訪問,而鏈式結構只可以順序訪問。對n個元素進行排序的時間複雜最快也要o n 初始有序 通常是o nlog2n 或o n 2 單鏈表只能順序查詢插入...