剑指Offer之面试题7:用两个栈实现队列
2016-12-24 00:54
253 查看
所有代码均通过G++编译器测试,仅为练手纪录。
//面试题7:用两个栈实现队列
//题目:用两个栈实现一个队列。队列的声明如下,请实现它的两个函数appendTail和deleteHead,
// 分别完成在队列尾部插入结点和在队列头部删除结点的功能。
ZhaiPillary
2016-12-23
//面试题7:用两个栈实现队列
//题目:用两个栈实现一个队列。队列的声明如下,请实现它的两个函数appendTail和deleteHead,
// 分别完成在队列尾部插入结点和在队列头部删除结点的功能。
//面试题7:用两个栈实现队列 //题目:用两个栈实现一个队列。队列的声明如下,请实现它的两个函数appendTail和deleteHead, // 分别完成在队列尾部插入结点和在队列头部删除结点的功能。 template<typename T> class CQueue { public: CQueue(){} ~CQueue() { while(!m_stackInput.empty()) { m_stackInput.pop(); } while(!m_stackOutput.empty()) { m_stackOutput.pop(); } } public: void AppendTail(const T& node) { m_stackInput.push(node); } T DeleteHead() { if(m_stackOutput.empty()) { while(!m_stackInput.empty()) { m_stackOutput.push(m_stackInput.top()); m_stackInput.pop(); } } if (m_stackOutput.empty()) { LogError("DeleteHead error,queue is empty"); return T(); } T node = m_stackOutput.top(); m_stackOutput.pop(); return node; } private: stack<T> m_stackInput; stack<T> m_stackOutput; };
ZhaiPillary
2016-12-23
相关文章推荐
- 【剑指offer】面试题7:用两个栈实现队列
- 剑指Offer:面试题7 用两个栈实现队列
- 【剑指Offer学习】【面试题7:用两个栈实现队列】
- 剑指Offer----面试题七:用两个栈实现队列
- 【剑指offer】面试题七:用两个栈实现队列
- 【剑指offer】面试题7:用两个栈实现队列
- 剑指Offer面试题7用两个栈实现队列
- 剑指offer--面试题7:用两个栈实现队列--Java实现
- 剑指offer--面试题7: 用两个栈实现队列
- 剑指offer面试题7:用两个栈实现队列
- 【剑指Offer面试题】 九度OJ1512:用两个栈实现队列
- 【剑指offer】2.3.5栈和队列——面试题7:用两个栈实现队列
- 剑指Offer面试题7(Java版):用两个栈实现队列与用两个队列实现栈
- 【练习笔记】剑指offer-面试题7 :用两个栈实现队列
- 剑指offer 面试题7 两个栈实现队列
- 【剑指offer 面试题7】用两个栈实现队列
- 剑指offer面试题java实现之题7:用两个栈模拟一个队列的入队和出队操作
- 剑指offer之面试题7:用两个栈实现队列
- [剑指offer][面试题07-扩展]用两个队列实现栈
- [剑指offer][面试题07]用两个栈实现队列