使用模板类实现Queue
来源:互联网 发布:淘宝清仓女鞋 编辑:程序博客网 时间:2024/06/05 20:08
template<class T>
class Queue
{
public:
Queue(int MaxQueueSize=10);
~Queue(){delete [] queue;}
bool IsEmpty()const
{return front==rear;}
bool IsFull()const
{return (((rear+1)%MaxSize==front)?1:0);}
T First()const;
T Last()const;
Queue<T>& Add(const T& x);
Queue<T>& Delete(T& x);
private:
int front;
int rear;
int MaxSize;
T * queue;
};
////////////////////////////////////////////
template<class T>
Queue<T>::Queue(int MaxQueueSize)
{
MaxSize=MaxQueueSize+1;
queue=new T[MaxSize];
front=rear=0;
}
template<class T>
T Queue<T>::First() const
{
//if(IsEmpty())throw OutOfBounds();
if(IsEmpty())exit(0);
return queue[(front+1)%MaxSize];
}
template<class T>
T Queue<T>::Last() const
{
//if(IsEmpty())throw OutOfBounds();
if(IsEmpty())exit(0);
return queue[rear];
}
template<class T>
Queue<T>& Queue<T>::Add(const T &x)
{
//if(IsFull())throw NoMem();
if(IsFull())exit(0);
rear=(rear+1)%MaxSize;
queue[rear]=x;
return *this;
}
template<class T>
Queue<T>& Queue<T>::Delete(T &x)
{
if(IsEmpty())throw OutOfBounds();
front=(front+1)%MaxSize;
x=queue[front];
return *this;
}
- 使用模板类实现Queue
- 类模板实现Queue
- 自定义类模板 实现Queue
- 类模板Queue的实现
- C++primer 实现queue的模板类
- C++ 实现自己queue模板类
- 自己实现的queue模板类
- 模板实现简易queue
- Queue模板类
- 模板队列Queue类
- Queue--C++模板类
- C# Queue模板类
- c++模板类Queue
- 标准类库 queue模板类的简单实现
- Queue类模板的链表实现(基本功能)
- 模板类高效线程安全的实现Queue
- 简单模拟实现队列Queue的模板类
- 使用LinkedList实现Queue
- TextBox在执行时即可获得焦点,将TabIndex设定为1即可
- 单例模式
- Video4Linux2 part 5a: colors and formats
- 存储过程的调用
- Ubuntu 显卡驱动问题
- 使用模板类实现Queue
- ubuntu几个小操作
- iphone openURL 运行Maps,SMS,Browser,Phone甚至其他的应用程序(转)
- win32,按钮处理鼠标滑过消息
- Linux Frequently Asked Questions with Answers
- [转]20110413-#pragma pack() 和sizeof
- intel ssd flash硬盘。
- Class.forName()有参构造函数的实例化
- 网络游戏实时动作同步方案手记(3)