数据结构-循环顺序队列的基本操作

//循环顺序队列的基本操作

#include 
#include 
using namespace std;

#define MAXLEN 8
#define datatype char
#define Status int
typedef struct{
	datatype s[MAXLEN];
	int front;				//记录队首的指针
	int rear;				//记录队尾的指针
}SeqQueue;

//初始化
Status InitSeqQueue(SeqQueue &sq)
{
	sq.front=-1;			
	sq.rear=-1;
	return 1;
}
//判空
Status IsEmpty(SeqQueue sq)
{	//若空,返回1;否则返回0
	if(sq.front==sq.rear) return 1;
	else return 0;
}
//判满
Status IsFull(SeqQueue sq)
{	//若队满,返回1;
	if(sq.front==(sq.rear+1)%MAXLEN) return 1;
	else return 0;
}
//入栈
Status InQueue(SeqQueue &sq,datatype x)
{
	//判断队列满
	if(sq.front==(sq.rear+1)%MAXLEN) return 0;
	
	sq.rear++;
	sq.s[sq.rear]=x;
	
	return 1;
}
//出栈
Status OutQueue(SeqQueue &sq,datatype &x)
{	//若对空,返回0;出队成功返回1;
	//判断对空
	if(sq.front==sq.rear) return 0;
	//出队
	sq.front++;
	x=sq.s[sq.front];
	return 1;
}
//显示栈元素
Status ShowQueue(SeqQueue &sq)
{
	if(sq.front==sq.rear) return 0;
	int i=sq.front;
	while(i!=sq.rear)
	{
		i++;
		cout<

成都创新互联公司是一家集网站建设,固始企业网站建设,固始品牌网站建设,网站定制,固始网站建设报价,网络营销,网络优化,固始网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。

鲜少伟

2016-4-18


分享名称:数据结构-循环顺序队列的基本操作
链接URL:http://cdiso.cn/article/gjceoj.html

其他资讯