C++模板实现顺序队列

       顺序队列是队列的顺序存储结构,顺序队列实际上是运算受限的顺序表。和顺序表一样,顺序队列用一个向量空间来存放当前队列中的元素。由于队列的队头和队尾的位置是变化的,设置两个指针front和rear分别指示队头元素和队尾元素在向量空间中的位置,它们的初值在队列初始化时均应设置为0。

       现在我们简单实现一个顺序队列:

SeqQueue.h

template class SeqQueue{
public:
	SeqQueue(int sz):m_nrear(0),m_nfront(0),m_ncount(0),m_nMaxSize(sz){
		m_pelements=new Type[sz];
		if(m_pelements==NULL){
			cout<<"Application Error!"< void SeqQueue::MakeEmpty(){
	this->m_ncount=0;
	this->m_nfront=0;
	this->m_nrear=0;
}

template bool SeqQueue::IsEmpty(){
	return m_ncount==0;
}

template bool SeqQueue::IsFull(){
	return m_ncount==m_nMaxSize;
}

template bool SeqQueue::Append(const Type item){
	if(IsFull()){
		cout<<"The queue is full!"< Type SeqQueue::Delete(){
	if(IsEmpty()){
		cout<<"There is no element!"< Type SeqQueue::Get(){
	if(IsEmpty()){
		cout<<"There is no element!"< void SeqQueue::Print(){
	cout<<"front";
	for(int i=0;i"<rear"<
Main.cpp

#include 
using namespace std;

#include "SeqQueue.h"

int main(){
	SeqQueue queue(10);
	int init[10]={1,6,9,0,2,5,8,3,7,4};
	for(int i=0;i<5;i++){
		queue.Append(init[i]);
	}
	queue.Print();

	cout<



你可能感兴趣的:(C++,数据结构,C/C++/C#开发实战365,C++)