資料結構 第三章 佇列

2021-10-04 01:25:32 字數 1078 閱讀 9513

佇列(queue):具有一定操作約束的線性表

特點:fifo

即先來先服務,只能在一端插入,在另一端刪除

順序儲存實現:由乙個一維陣列和乙個記錄頭元素位置的變數front以及乙個記錄隊尾元素位置的變數rear組成

#define maxsize 《儲存資料元素的最大個數》

struct qnode;

typedef struct qnode * queue;

佇列相關操作

一、入隊和出隊操作

//入隊

void addq(queue ptrq,elementtype item)

ptrq -> rear = (ptrq -> rear + 1) % maxsize;

ptrq -> data[ptrq -> rear ] = item;

}//出隊

elementtype deleteq(queue ptrq)

else

}

佇列的鏈式儲存實現:

用乙個單鏈表實現,插入和刪除操作分別在兩頭進行,佇列指標front和rear分別指向隊首和隊尾

其中front指向隊頭節點,rear指向隊尾節點,即在頭出,尾插

資料結構 第三章 棧與佇列

3.1 棧 3.1.1 抽象資料型別棧的定義 棧是限定僅在表尾進行插入或刪除操作的線性表。因此,對棧來說,表尾端有其特殊含義,稱為棧頂。相反地,表頭端稱為棧底。棧是後進先出 lifo 的線性表。基本操作 top 返回棧頂元素 pop 彈出棧頂元素 push a 將元素a壓入棧 empty 判斷是否為...

資料結構 第三章 棧與佇列

定義 限定僅在表尾進行插入和刪除操作的線性表。即後進先出的線性表 last in first out 表尾即棧頂top,表頭即棧低bottom。儲存方式 順序棧 鏈棧 順序棧 一組位址連續的儲存單元,一次存放自棧低到棧頂的資料元素。結構 兩個指標top,base,乙個int size描述棧的大小 空...

資料結構第三章棧和佇列

第四章 棧和佇列 1.棧 限定僅在表尾進行插入或刪除操作的線性表,表尾端稱為棧頂,表頭端稱為棧底。棧頂移動,棧底固定。特點 先進後出 後進先出 typedef struct sqstack status push sqstack s,selemtype e status pop sqstack s,...