迴圈佇列的基本實現

2021-06-01 14:08:38 字數 920 閱讀 1125

/*2.  完成對迴圈佇列結構的定義,以及對迴圈佇列的各種基本運算的實現(每種基本運算用乙個函式來實現)。

基本運算包括:

初始化init_sqqueue運算、

判隊空empty_sqqueue運算、

入隊en_sqqueue運算、

出隊de_sqqueue運算、

取隊頭元素gethead_sqqueue運算。*/

#includeusing namespace std;

typedef char datatype;

const int maxsize=100; //佇列的容量,元素最多不能超過它

typedef struct

sqqueue; //順序佇列型別

//初始化

void init_sqqueue(sqqueue *sq)

//判隊空

int empty_sqqueue(sqqueue *sq)

//取隊頭

int gethead_sqqueue(sqqueue *sq,datatype *x)

else

}//入隊

int en_sqqueue(sqqueue *sq,datatype x)

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

sq->data[sq->rear]=x;

return 1;

}//出隊

int de_sqqueue(sqqueue *sq,datatype *x)

else }

void display(sqqueue *sq)

else

cout<<"佇列的所有元素:"rear;i++)

cout}int main()

} return 0;

}

迴圈佇列的基本實現

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

迴圈佇列的基本操作實現

front 指向隊頭元素的前乙個單元 rear 指向隊尾元素 maxsize 陣列的最大長度 元素入隊的時候,將隊尾的指標加1,然後元素入隊 元素出隊時,先將對頭指標加1,然後元素出隊。隊頭指標進1 front front 1 maxsize 隊尾指標進1 rear rear 1 maxsize 在...

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

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