#include <iostream>
using namespace std;
#define MAXSIZE 100
typedef int ElemType; typedef struct { ElemType * base; int front; int rear;
} SqQueue; bool InitQueue ( SqQueue & Q) { Q. base = new ElemType[ MAXSIZE] ; if ( ! Q. base) { cout << "开辟空间失败" << endl; return false ; } Q. front = Q. rear = 0 ; return true ;
} bool Push ( SqQueue & Q, ElemType e) { if ( ( Q. rear + 1 ) % MAXSIZE == Q. front) return false ; Q. base[ Q. rear] = e; Q. rear = ( Q. rear + 1 ) % MAXSIZE; return true ;
} bool Pop ( SqQueue & Q, ElemType & e) { if ( Q. front == Q. rear) return false ; e = Q. base[ Q. front] ; Q. front = ( Q. front + 1 ) % MAXSIZE; return true ;
} ElemType GetTop ( SqQueue Q) { if ( Q. front != Q. rear) return Q. base[ Q. front] ; else cout << "队列已空" << endl; return false ;
}