用链表std::list实现队列
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用链表std::list实现队列相关的知识,希望对你有一定的参考价值。
// generic queue implemented with doubly linked list #include<iostream> #include<string> #include <list> using std::cout; using std::endl; using std::string; template<class T> class Queue { public: Queue() { } void clear() { lst.clear(); } bool isEmpty() const { return lst.empty(); } T& front() { return lst.front(); } void enqueue(const T& el) { lst.push_back(el); } T dequeue() { T el = lst.front(); lst.pop_front(); return el; } private: std::list<T> lst; }; int main(){ Queue<string> tque; tque.enqueue("you "); tque.enqueue("are "); tque.enqueue("a "); tque.enqueue("shining "); tque.enqueue("star."); while(!tque.isEmpty()){ cout << tque.dequeue(); } cout << endl; // A segmentation fault will happen. //cout << tque.dequeue(); }
本文出自 “用C++写文章” 博客,谢绝转载!
以上是关于用链表std::list实现队列的主要内容,如果未能解决你的问题,请参考以下文章