用一个单链表L实现一个队列(算法导论第十章10.2-3)
生活随笔
收集整理的這篇文章主要介紹了
用一个单链表L实现一个队列(算法导论第十章10.2-3)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
用一個單鏈表L實現一個隊列(算法導論第十章10.2-3)
template<typename T> class HalfNode { public:T key;HalfNode* next; public:HalfNode(){next = nullptr;};HalfNode(const T key):key(key){next = nullptr;}; }; template<typename T> class Single_L { public:HalfNode<T> *head;HalfNode<T> *tail; public:Single_L(){tail = head = nullptr;} }; template<typename T> void enqueue(Single_L<T> &l,T key) {HalfNode<T>* node = new HalfNode<T>(key);if(l.head == nullptr){l.head = l.tail = node;}else{l.tail->next = node;l.tail = node;} } template<typename T> T dequeue(Single_L<T> &l) {if(l.head == nullptr)throw "underflow";HalfNode<T>* node = l.head;l.head = l.head->next;T t = node->key;delete node;return t; }測試代碼
int size = 5;Single_L<int> singleL;for (int i = 0; i < size; ++i) {enqueue(singleL,i);}for (int i = 0; i < size; ++i) {cout<<dequeue(singleL)<<" ";}總結
以上是生活随笔為你收集整理的用一个单链表L实现一个队列(算法导论第十章10.2-3)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 塔吊证备案了怎么才能退案(塔吊证退备案)
- 下一篇: 算法导论10-2.4题