C++源代码文辑
代码名称:循环队列的创建、进出队列
编程工具: Microsoft Visual C++
作 者: 长风夜雨
说明:
将以下原代码直接复制至Microsoft Visual C++,测试已通过。
#include<>
#include<>
#include<>
#define QueueElementType int
#define MAXSIZE 50
typedef struct
{
QueueElementType element[MAXSIZE];
int front;
int rear;
}SeqQueue;
//初始化队列
void InitQueue(SeqQueue *Q)
{
Q->front=Q->rear=0;
}
//遍历队列
void ShowQueue(SeqQueue *Q)
{
if(Q->front==Q->rear)
cout<<"队列为空!"<<endl;
else
{
cout<<"您的队列如下:"<<endl<<endl;
cout<<"————————————————————————————————"<<endl;
for(int i=Q->front ; i<Q->rear ; i++)
cout<<Q->element[i]<<endl;
cout<<"————————————————————————————————"<<endl<<endl;
}
}
//进队
void EnterQueue(SeqQueue *Q , QueueElementType x)
{
if((Q->rear+1)%MAXSIZE==Q->front)
cout<<"队列已满!"<<endl;
else
{
Q->element[Q->rear]=x;
Q->rear=(Q->rear+1)%MAXSIZE;
}
}
//退出队列
void DeleteQueue(SeqQueue *Q)
{
if(Q->front==Q->rear)
cout<<"队列为空!"<<endl;
else
{
Q->front=(Q->front+1)%MAXSIZE;
cout<<"出对成功!"<<endl;
}
}
void main()
{
//初始化队列
SeqQueue *Q;
Q=(SeqQueue *)malloc(sizeof(SeqQueue));
InitQueue(Q);
//创建队列
int i;
cout<<"请输入队列长度:"<<endl;
cin>>i;
cout<<"请依次输入队列元素:"<<endl;
for(int j=0 ; j<i ; j++)
{
int x;
cin>>x;
EnterQueue(Q,x)
循环队列 来自淘豆网www.taodocs.com转载请标明出处.