首页 > 学院 > 开发设计 > 正文

线性表-循环队列的表示

2019-11-08 01:40:07
字体:
来源:转载
供稿:网友
#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);}
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表