📄 queue.h
字号:
//处理起飞或降落的飞机队列,本题用环形队列
#ifndef QUEUE_H
#define QUEUE_H
#include <iostream>
template<class Type> class Queue;
template<class Type>
class QueueNode
{
friend class Queue<Type>;
private:
Type data;
QueueNode<Type> *link;
QueueNode( const Type& x , QueueNode<Type>* xqn = 0 )
:data( x ) , link( xqn ){};
};
template<class Type> class Queue
{
public:
Queue()
{
front = rear = 0 ;
sizenumber = 0;
};
void Add ( const Type& );
Type* Delete( Type& );
int GetSize();
private:
QueueNode<Type> *front;
QueueNode<Type> *rear;
int sizenumber;
};
template <class Type>
void Queue<Type>::Add( const Type& m ) //环型队列插入操作
{
if ( front == 0 )
front = rear = new QueueNode<Type> ( m , 0 );
else
rear = rear->link = new QueueNode<Type> ( m , 0 );
++sizenumber;
}
template <class Type> //环型队列删除操作
Type* Queue<Type>::Delete( Type& dm )
{
if ( front == 0 )
{
return 0;
}
QueueNode<Type> *p = front;
dm = front->data;
front = p->link;
delete p;
--sizenumber;
return &dm;
}
template <class Type>
int Queue<Type>::GetSize()
{
return sizenumber;
}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -