头文件:
#ifndef seqqueue_H
#define seqqueue_H
const int queuesize=10;
class seqqueue
{
int rear,front;
int data[queuesize];
public:
seqqueue(){front=rear=queuesize-1;}
~seqqueue(){}
void enqueue(int x);
int dequeue();
int getqueue();
int empty();
};
#endif
子函数:
#include"seqqueue.h"
void seqqueue::enqueue(int x)
{
if(front==(rear+1)%queuesize) throw"上溢";
rear=(rear+1)%queuesize;
data[rear]=x;
}
int seqqueue::dequeue()
{
if(front==rear) throw"下溢";
front=(front+1)%queuesize;
return data[front];
}
int seqqueue::getqueue()
{
int i;
if(front==rear) throw"下溢";
i=(front+1)%queuesize;
return data[i];
}
int seqqueue::empty()
{
if(front==rear)
return 1;
else
return 0;
}
主函数:
#include<iostream>
using namespace std;
#include"seqqueue.h"
void main()
{
seqqueue s;
if(s.empty())
cout<<"队列为空"<<endl;
else
cout<<"队列非空"<<endl;
cout<<"元素6和8执行入队操作"<<endl;
s.enqueue(6);
s.enqueue(8);
cout<<"查看队头元素:"<<s.getqueue()<<endl;
cout<<"执行出队操作"<<endl;
s.dequeue();
cout<<"查看队头元素:"<<s.getqueue()<<endl;
if(s.empty())
cout<<"队列为空"<<endl;
else
cout<<"队列非空"<<endl;
}