seqqueue.cpp

来自「1) 以二叉链表为存储结构」· C++ 代码 · 共 51 行

CPP
51
字号
// SeqQueue.cpp: implementation of the SeqQueue class.
//
//////////////////////////////////////////////////////////////////////

#include "SeqQueue.h"

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
//构造函数
template<class T>
SeqQueue<T>::SeqQueue(int sz):front(0),rear(0),maxSize(sz)
{	elements=new T[maxSize];
	assert(elements!=NULL);
}
//入队
template<class T>
bool SeqQueue<T>::EnQueue(const T&x)					
{
	if(IsFull()==true)return false;
	elements[rear]=x;
	rear=(rear+1)%maxSize;
	return true;
}	
//出队
template<class T>
bool SeqQueue<T>::DeQueue(T&x)						
{
	if(IsEmpty()==true)return false;
	x=elements[front];
	front=(front+1)%maxSize;
	return true;
}
//得首结点
template<class T>
bool SeqQueue<T>::getFront(T&x)const					
{
	if(IsEmpty()==true)return false;
	x=elements[front];
	return true;
}
//输出重载
template<class T>
ostream&operator<<(ostream&os,SeqQueue<T>&Q)			
{
	os<<"front="<<Q.front<<",rear="<<Q.rear<<endl;
	for(int i=Q.front;i!=Q.rear;i=(i+1)%Q.maxSize)
		os<<i+1<<":"<<Q.elements[i]<<endl;
	return os;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?