Queue.h:

template 
class Queue
{
public:
	Queue(int size = 30);
	~Queue();
	void EnQueue(T value);
	T DeQueue();
	T GetFirst();
	bool IsEmpty();
	bool IsFull();
	void ClearQueue();
private:
	T *queue;
	int front;
	int rare;
	int MaxSize;
	int CurLen;
};
 
template 
Queue::Queue(int size = 30)
{
	queue = new T[size];
	front = 0;
	rare = 0;
	CurLen = 0;
	MaxSize =size;
}
 
template 
Queue::~Queue()
{
	delete queue;
}
 
template
void Queue::EnQueue(T value)
{
	queue[rare] = value;
	rare = (rare + 1)%MaxSize;
	CurLen++;
}
 
template
T Queue::DeQueue()
{
	T value;
	if(IsEmpty())
	{
		cout<<"Empty When Dequeue"<
T Queue::GetFirst()
{
	T value;
	if(IsEmpty())
	{
		cout<<"Empty When GetFirst!"<
bool Queue::IsEmpty()
{
	return (front==rare&&CurLen==0)?true:false;
}
 
template
bool Queue::IsFull()
{
	return (front==rare&&CurLen==MaxSize)?true:false;
}
 
template
void Queue::ClearQueue()
{
	front = 0;
	rare = 0;
	CurLen = 0;
}
Tags: ,,.
你好!除了代码,此处没有多少原创之物,皆为本人搜集、整理、总结之记录与心得,欢迎转载分享!转载时请尽量注明出处,将不胜感激。祝你健康、快乐!
Home

Be the first to comment on this entry.

Name(required)
Mail (required),(will not be published)

RFC: Request For Comments. Orz..

Website(recommended)