1. 程式人生 > >建立一個順序佇列,實現佇列的入隊和出隊操作。

建立一個順序佇列,實現佇列的入隊和出隊操作。

標頭檔案:
#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;
}