seqqueue.h

来自「1) 以二叉链表为存储结构」· C头文件 代码 · 共 36 行

H
36
字号
// SeqQueue.h: interface for the SeqQueue class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_SEQQUEUE_H__A606BF4E_A506_4E6D_B83C_3AA4E2AE557F__INCLUDED_)
#define AFX_SEQQUEUE_H__A606BF4E_A506_4E6D_B83C_3AA4E2AE557F__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include<assert.h>
#include<iostream.h>
template<class T>
class SeqQueue  //顺序队列类定义
{
public:
	SeqQueue(int sz=10);//构造函数
	virtual ~SeqQueue(){delete[]elements;}//虚构函数
	bool EnQueue(const T&x);//压入队列
	bool DeQueue(T&x);		//压出队列
	bool getFront(T&x)const;//得首结点
	void makeEmpty(){front=rear=0;}//清空队列
	bool IsEmpty()const{return (front==rear)?true:false;}//判断队列是否为空
	bool IsFull()const{return ((rear+1)%maxSize==front)?true:false;}//判断队列是否写满
	int getSize()const{return (rear-front+maxSize)%maxSize;}//得队列个数
	friend ostream&operator<<(ostream&os,SeqQueue<T>&Q);//输出重载
protected:
	int rear,front;
	T*elements;
	int maxSize;
};


#endif // !defined(AFX_SEQQUEUE_H__A606BF4E_A506_4E6D_B83C_3AA4E2AE557F__INCLUDED_)

⌨️ 快捷键说明

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