编辑代码

#include <iostream>
using namespace std;
#define Maxsize 10;
typedef struct{
        int data[Maxsize];
        int head,end;
        int size;//插入就加1.删除就减1
        int tag;//插入成功置为1,删除成功置为0
    }SqQueue;
void InitQueue(SqQueue &Q){
    Q.head=Q.end=0;
    size=0;
}
int GetQueue(SqQueue Q){
    if(size==0)
    //if(head==end && tag=0)
    return false;
    else
    return Q.data[Q.head];
}
bool EnQueue(SqQueue &Q,int x){
    if(size==Maxsize)
    //if(head==end && tag==1)
    return false;
    Q.data[Q.end]=x;
    Q.end=(Q.end+1)%Maxsize;
    size++;
    //tag=1;
    return true;
}
bool DeQueue(SQueue &Q,int x){
    if(size==0)
    //if(head==end && tag=0)
    return false;
    x=Q.data[Q.head];
    Q.head=(Q.head+1)%Maxsize;
    size--;
    //tag=0
    return true;
}
bool QueueEmpty(SqQueue Q){
    if(size==0)
    //if(head==end && tag=0)
    return true
    else
    return false;
}
int main() {
    SqQueue Q;
    InitQueue(Q);
    GetQueueh(Q);
	return 0;
}