⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 seqqueue.cpp

📁 1) 以二叉链表为存储结构
💻 CPP
字号:
// 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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -