linkedqueue.h
来自「1) 以二叉链表为存储结构」· C头文件 代码 · 共 46 行
H
46 行
// 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 + =
减小字号Ctrl + -
显示快捷键?