#include <iostream>#include <string>#include <vector>#define MAXSIZE 100using namespace std;/**循环队列 */typedef struct{ int *base; int front; int rear;}sQQueue;//初始化int initQueue(sqQueue &Q){ Q.base = new int[MAXSIZE]; if(!Q.base) { cout<<"initQueue err"<<endl; return -1; } Q.front = Q.rear = 0; return 1;}//入队int enQueue(sqQueue &Q,int e){ if((Q.rear+1)%MAXSIZE==Q.front) { cout<<"enQueue err:MAXSIZE!"<<endl; return -1; } Q.base[Q.rear] = e; Q.rear = (Q.rear+1)%MAXSIZE; return 1; } //查看队头元素 int getHead(sqQueue Q) { if(Q.front!=Q.rear) { cout<<Q.base[Q.front]<<endl; return Q.base[Q.front]; } } //出队 int deQueue(sqQueue &Q) { if(Q.front==Q.rear) { cout<<"deQueue err:queue NULL!"<<endl; return -1; } Q.front = (Q.front+1)%MAXSIZE; return 1; } int main(){ sqQueue queue; initQueue(queue); enQueue(queue,1); enQueue(queue,2); enQueue(queue,3); deQueue(queue); getHead(queue);}
新闻热点
疑难解答