資料結構之迴圈佇列

2021-09-18 03:33:16 字數 748 閱讀 8263

迴圈佇列:我們在佇列的基礎上,將順序佇列臆造為乙個環狀的空間,稱為迴圈佇列

迴圈佇列最重要的判別式是所有判別位置時都必須對最大儲存空間進行取餘操作

輸入三個資料進行測試。例:1 2 3。

#include#include#define false 0

#define ok 1

#define maxsize 100

using namespace std;

typedef struct squeue;

int initqueue(squeue &q)

q.front=q.rear=0;

return ok;

}void scanf_squeue(squeue &q,int n)

}void printf_squeue(squeue q)

}int queuelength(squeue &q)

int enqueue(squeue &q,int e)

q.base[q.rear]=e;

q.rear=(q.rear+1)%maxsize;

return ok;

}int dequeue(squeue &q,int &e)

e=q.base[q.front];

q.front=(q.front+1)%maxsize;

return ok;

}int main(int argc, char const *ar**)

資料結構之迴圈佇列

資料結構之佇列 迴圈佇列 ide vs2010 佇列操作 初始化 入隊 插入隊尾 出隊 即取隊頭 判斷佇列是否非空 滿 include using namespace std define max len 100 定義節點型別 typedef struct queue queue 初始化 void ...

資料結構之迴圈佇列

4.10 佇列的定義 佇列定義 一種先進先出的線性表。允許插入的一端稱為隊尾,允許刪除的一端稱為隊頭。隊頭 隊尾 出佇列 a1 a2 a3 a4 an 入佇列 佇列有類似線性表的各種操作,不同的就是插入資料只能在隊尾進行,刪除資料只能在隊頭進行。線性表有線性儲存和鏈式儲存。棧是線性表,有這兩種儲存方...

資料結構之迴圈佇列

怎麼理解上面這段話呢?就是說在現實生活的數個人排隊辦理業務,辦完業務的人自然就走了,後邊的人會往前頂。但是在程式設計中,是死的,他不會自動往前頂。因而迴圈佇列就出現了。其實就是像上段話說的解決 中資料不會自動往前頂,會出現前邊已經空了,但是插不進資料的問題。怎麼解決的呢?資料不會往前頂,但是尾部指標...