📄 linkedqueue.h
字号:
// LinkedQueue.h: interface for the LinkedQueue class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_LINKEDQUEUE_H__1F320CF4_54AC_43A8_A3FC_162747529B20__INCLUDED_)
#define AFX_LINKEDQUEUE_H__1F320CF4_54AC_43A8_A3FC_162747529B20__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include<assert.h>
#include<iostream.h>
template <class T>
struct LinkNode //链式队列结点类定义
{
T data;
LinkNode<T>*link;
LinkNode(LinkNode<T>*ptr=NULL)
{
link=ptr;
}
LinkNode(const T&item,LinkNode<T>*ptr=NULL)
{
data=item;
link=ptr;
}
};
template <class T>
class LinkedQueue //链式队列定义
{
public:
LinkedQueue():rear(NULL),front(NULL){} //构造函数
virtual ~LinkedQueue(){makeEmpty();} //析构函数
bool EnQueue(const T&x); //压入队列
bool DeQueue(T&x); //压出队列
bool getFront(T&x)const; //得队列首结点
void makeEmpty(); //清空队列
bool IsEmpty()const{return (front==NULL)?true:false;}//判断队列为空
int getSize()const; //得队列个数
friend ostream&operator<<(ostream&os,LinkedQueue<T>&Q);//输出重载
protected:
LinkNode<T>*front,*rear;
};
#endif // !defined(AFX_LINKEDQUEUE_H__1F320CF4_54AC_43A8_A3FC_162747529B20__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -