Stack--C++模板类
来源:互联网 发布:淘宝应用开发 编辑:程序博客网 时间:2024/06/06 03:16
#ifndef _STACK_H_#define _STACK_H_//数组实现namespace stack_in_array{ template <typename T> class Stack { private: enum { MAX = 100 }; T elements[MAX]; int top; public: void MakeNull(); bool Empty()const; bool Full()const; T Top()const; void Pop(); void Push(T x); }; template<typename T> void Stack<T>::Push(T x) { if (Full()) cout << "FULL!\n"; else { top++; elements[top] = x; } } template<typename T> void Stack<T>::Pop() { if (Empty()) cout << "EMPTY!\n"; else top--; } template<typename T> bool Stack<T>::Full()const { return top == MAX - 1; } template<typename T> T Stack<T>::Top()const { if (Empty()) cout << "EMPTY!\n"; else return elements[top]; return NULL; } template<typename T> bool Stack<T>::Empty()const { if (top < 0) return true; else return false; } template<typename T> void Stack<T>::MakeNull() { top = -1; }}//链表实现namespace stack_in_linklist{ template<typename T> class Stack { private: struct Node { T data; struct Node *next; }; Node *head; public: void MakeNull(); bool Empty()const; void Push(T x); void Pop(); T Top()const; }; template<typename T> T Stack<T>::Top()const { if (!Empty()) return head->next->data; else cout << "EMPTY!\n"; return NULL; } template<typename T> void Stack<T>::Pop() { Node *p; if (!Empty()) { p = head->next; head->next = p->next; delete p; } else cout << "EMPTY!\n"; } template<typename T> void Stack<T>::Push(T x) { Node *p = new Node; p->data = x; p->next = head->next; head->next = p; } template<typename T> bool Stack<T>::Empty()const { return head->next == NULL; } template<typename T> void Stack<T>::MakeNull() { head = new Node; s->next = NULL; }}#endif
0 0
- C++stack模板类
- C++:栈(stack)的模板类实现
- C语言实现stack模板
- c++ stack模板类
- 类模板stack小试牛刀
- 模板类实现stack
- 模板类stack
- Stack类模板
- 类模板 stack
- Stack--C++模板类
- Stack类模板
- 【转】C语言实现stack模板
- C++之Stack模板类
- 用类模板改写stack
- Stack模板
- 【c++】模拟实现栈 类模板(Stack的基本操作)
- C++_class Template about Stack(使用类模板实现栈操作)
- 【C++】 C++标准模板库(五)Stack
- 【译】一则故事:达到绝对安全的三个最佳措施
- cocoapods 的详细使用
- 我的世界游戏服务器改名
- 判断图片 & 判断URL , 使用分类实现
- android 渐变背景xml
- Stack--C++模板类
- 产品经理面试考核和能力分级
- R语言中paste()中粘贴向量
- stretchableImageWithLeftCapWidth
- Queue--C++模板类
- 初写博客,python菜鸟一个,希望热心大神指导
- ListView使用CheckBox选择行后获取数据
- JavaScript 中三种常见的提示框(alert、confirm、prompt)
- androin各类动画效果实现