#includeusing namespace std; #define MAXSIZE 50 typedef int QueueElementType; typedef struct { QueueElementType elem[MAXSIZE]; int front; //指向当前队头元素 int rear; //指向队尾元素的下一个位置 }SeqQueue; void InitQueue(SeqQueue &Q); void InputQueue(SeqQueue &Q); bool EnterQueue(SeqQueue &Q,QueueElementType x); QueueElementType DeleteQueue(SeqQueue &Q); QueueElementType BackQueue(SeqQueue Q);//返回队尾元素 bool IsFull(SeqQueue Q); bool IsEmpty(SeqQueue Q); void OutputQueue(SeqQueue Q); int QueueLength(SeqQueue Q); int main() { int x; SeqQueue q; InitQueue(q); InputQueue(q); x = BackQueue(q); cout<<"队尾元素为:"< >m; while(m!=-1) { if(IsFull(Q)) cout<<"当前队列已满,无法插入"<>m; } } } bool EnterQueue(SeqQueue &Q,QueueElementType x) { if((Q.rear+1)%MAXSIZE == Q.front) return false; Q.elem[Q.rear] = x; Q.rear = (Q.rear+1)%MAXSIZE; return true; } QueueElementType DeleteQueue(SeqQueue &Q) { if(IsEmpty(Q)) { cout<<"当前队列为空,出队列失败!"< ?
