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; } |
你好!除了代码,此处没有多少原创之物,皆为本人搜集、整理、总结之记录与心得,欢迎转载分享!转载时请尽量注明出处,将不胜感激。祝你健康、快乐!
Be the first to comment on this entry.