📄 queue.h
字号:
//Produce by George Lee Feb. 22th, 2002
//--------------------------//
// //
// 顺序队列类 //
// //
//--------------------------//
#if !defined(_INC_Queue_OO)
#define _INC_Queue_OO
#include"stdlib.h" //exit()
#include <iostream.h>
template<class T>
class Queue
{
private:
T *data;
int max;
int front,rear,size;
public:
Queue(int n=50);
~Queue();
int Size()const;
int Empty()const;
int Full()const;
T GetData()const;
void Insert(T item);
T Delete();
void Clear();
};
template<class T>
Queue<T>::Queue(int n)
{
data=new T[n];
max=n;
front=0;
rear=0;
size=0;
}
template<class T>
Queue<T>::~Queue()
{
delete[]data;
}
template<class T>
T Queue<T>:: GetData()const
{
if(size==0)
{cerr<<"Queue is empty"<<endl;
exit(1);
}
return(data[front]);
}
template<class T>
int Queue<T>::Size()const
{
return(size);
}
template<class T>
int Queue<T>::Empty()const
{
if(size==0)
return(1);
return(0);
}
template<class T>
int Queue<T>::Full()const
{
if(size==max)
return(1);
return(0);
}
template<class T>
void Queue<T>::Insert(T item)
{
if(size==max)
{cerr<<"Queue is full!"<<endl;
exit(1);
}
data[rear]=item;
rear=(rear+1)%max;
size++;
}
template<class T>
T Queue<T>::Delete()
{
T item;
if(size==0)
{ cerr<<"queue is empty !"<<endl;
exit(1);
}
item=data[front];
front=(front+1)%max;
size--;
return(item);
}
template<class T>
void Queue<T>::Clear()
{
front=0;
rear=0;
size=0;
}
#endif //_INC_Queue_OO
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -