template <typename T> class CQueue{
public:
CQueue();
~CQueue();
void appendTail(const T &node);
T deleteHead();
private:
stack<T> stack1;
stack<T> stack2;
};高性能思路:
template <typename T> void CQueue<T>::appendTail(const T& node)
{
stack1.push(node);
}
template <typename T> T CQueue<T>::deleteHead()
{
if (stack2.size()<=0)
{
while(stack1.size()>0)
{
T &data=stack1.top();
stack1.pop();
stack2.push(data);
}
}
if (stack2.size()==0)
{
cout<<"Queue is empty"<<endl;
return;
}
T head=stack2.top();
stack2.pop();
return head;
}原文地址:http://blog.csdn.net/lsh_2013/article/details/45585283