迴圈佇列的基本操作實現

2021-07-10 08:28:09 字數 781 閱讀 2762

front:指向隊頭元素的前乙個單元

rear:指向隊尾元素

maxsize:陣列的最大長度

元素入隊的時候,將隊尾的指標加1,然後元素入隊;元素出隊時,先將對頭指標加1,然後元素出隊。

隊頭指標進1:front=(front+1)%maxsize;

隊尾指標進1:rear=(rear+1)%maxsize;

在迴圈佇列的結構下,當front==rear時為空佇列,當(rear+1)%maxsize==front 時為滿佇列,注意滿佇列實際上仍有乙個元素的空間未使用。

#include#include //malloc

using namespace std;

const int max_size=100;

typedef struct queue

queue;

//初始化空佇列

void initqueue(queue &s)

int isempty(queue &s)

int isfull(queue &s)

//獲取隊首的元素

int gettop(queue &s)

{ int x;

if(isempty(s))

{ cout<<"empty"<

29 迴圈佇列的基本操作實現

circularqueue.h檔案 ifndef circularqueue h define circularqueue h include include include define max size 5 定義佇列資料結構 typedef struct circularqueue circul...

迴圈佇列及其基本操作的實現

public inte ce iqueue public class circlesqqueue implements iqueue 將乙個已經存在的佇列置成空 public void clear 測試佇列是否為空 public boolean isempty 求佇列中的資料元素個數並由函式返回其值...

迴圈佇列基本操作

include include include include define ok 1 define error 0 define maxsize 4 分配的最大空間 typedef struct que queuelink int initloopqueue queuelink 初始化迴圈佇列 i...