用一个单链表L实现一个栈(算法导论第十章10.2-2题)
生活随笔
收集整理的這篇文章主要介紹了
用一个单链表L实现一个栈(算法导论第十章10.2-2题)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
用一個單鏈表L實現一個棧(算法導論第十章10.2-2題)
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; public:Single_L(){head = nullptr;} }; template<typename T> void push(Single_L<T>& l,T key) {HalfNode<T>* node = new HalfNode<T>(key);if(l.head != nullptr){node->next = l.head;}l.head = node; } template<typename T> T pop(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) {push(singleL,i);}for (int i = 0; i < size; ++i) {cout<<pop(singleL)<<" ";}總結
以上是生活随笔為你收集整理的用一个单链表L实现一个栈(算法导论第十章10.2-2题)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 诺邻网上怎么推广()
- 下一篇: 塔吊证备案了怎么才能退案(塔吊证退备案)