附加判定標誌的迴圈佇列的基本操作

2022-07-11 21:00:14 字數 786 閱讀 5275

描述

假設以陣列q[m]存放迴圈佇列中的元素, 同時設定乙個標誌tag,以tag== 0和tag == 1來區別在隊頭指標(front)和隊尾指標(rear)相等時,佇列狀態為「空」還是「滿」。試編寫與此結構相應的插入(enqueue)和刪除(dlqueue)演算法。

輸入多組資料,每組資料有兩行。第一行為乙個整數n,n表示入隊序列a的長度(n個數依次連續入隊,中間沒有出隊的情況),第二行為序列a(空格分隔的n個整數)。當n=0時,輸入結束。

輸出對應每組資料輸出一行。依次輸出佇列中所有的整數,每兩個整數之間用空格分隔。

輸入樣例 1 

4

1 2 3 4

51 2 4 5 3

0

輸出樣例 1

1 2 3 4

1 2 4 5 3

#include using

namespace

std;

#define maxsize 100typedef

struct

sqqueue;

int initqueue(sqqueue &q)

int enqueue(sqqueue &q,int

e)

int dequeue(sqqueue &q,int &e)//&

int isempty(sqqueue &q)

intmain()

while(m!=0

)

cout

<}

}

迴圈佇列的基本實現

2.完成對迴圈佇列結構的定義,以及對迴圈佇列的各種基本運算的實現 每種基本運算用乙個函式來實現 基本運算包括 初始化init sqqueue運算 判隊空empty sqqueue運算 入隊en sqqueue運算 出隊de sqqueue運算 取隊頭元素gethead sqqueue運算。inclu...

迴圈佇列的基本操作

一 迴圈佇列的基本概念。佇列是線性表的一種,相對於棧的先進後出 filo 佇列是先進先出的 fifo 因此只能在一端輸入 隊尾rear 在另一端輸出 隊頭front 順序佇列的隊頭指向當前佇列第乙個元素的位置,隊尾指向當前元素的下乙個位置的下乙個位置,但是當隊滿時不能入棧,存在問題 設陣列長度為m,...

迴圈佇列的基本實現

佇列 只允許在一端進行插入操作 隊尾 在另一端進行刪除操作的線性表 隊頭 先進先出。迴圈佇列 為了解決假溢位的問題 迴圈佇列有兩個指標,rear尾指標和front頭指標 相當於陣列的下標 隊空 rear和front指在同乙個位置,即 rear front 隊滿 rear 1 queuesize fr...