建立一个顺序队列,实现队列的入队和出队操作。

头文件:
#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;
}

猜你喜欢

转载自blog.csdn.net/zhifafenfang_CAI/article/details/80086276