博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
单链表实现的栈
阅读量:5251 次
发布时间:2019-06-14

本文共 1279 字,大约阅读时间需要 4 分钟。

1 #ifndef STACK_H 2 #define STACK_H 3  4 #include
5 #include
6 using namespace std; 7 8 template
9 class Stack10 {11 private:12 template
13 struct Node14 {15 T data;16 Node* next;17 Node(T data,Node* next):data(data),next(next){}18 };19 20 Node
* _top;21 public:22 class StackEmptyException:public logic_error{23 public:24 StackEmptyException(const string& msg=""):logic_error(msg){}25 };26 27 Stack(){28 _top=0;29 }30 31 ~Stack(){32 while(_top){33 Node* next=_top->next;34 delete _top;35 _top=next;36 }37 }38 39 void push(T data){40 _top=new Node
(data,_top);41 }42 43 bool isEmpty(){44 return _top==0;45 }46 47 T top() throw(StackEmptyException){48 if(!isEmpty())49 return _top->data;50 else51 throw StackEmptyException();52 }53 54 void pop() throw(StackEmptyException){55 if(!isEmpty()){56 Node
*next=_top->next;57 delete _top;58 _top=next;59 }60 else61 throw StackEmptyException();62 }63 };64 65 #endif//STACK_H

欢迎大家批评指正哦O(∩_∩)O~

转载于:https://www.cnblogs.com/freewater/archive/2012/06/25/2562796.html

你可能感兴趣的文章
ssm框架之将数据库的数据导入导出为excel文件
查看>>
语音识别中的MFCC的提取原理和MATLAB实现
查看>>
算法之【仿竖式算法】
查看>>
java string
查看>>
验证组件FluentValidation的使用示例
查看>>
0320-学习进度条
查看>>
JAVA跨域CORS
查看>>
正确的在循环list的时候删除list里面的元素
查看>>
ERP渠道文档详细和修改(二十五)
查看>>
C#正则Groups高级使用方法
查看>>
ecshop安装常见问题及解决办法
查看>>
解决windows系统的oracle数据库不能启动ora-00119和ora-00130的问题
查看>>
ip相关问题解答
查看>>
第九周作业
查看>>
Postman—添加断言和检查点
查看>>
网络文件下载
查看>>
Mixing Milk
查看>>
iOS下移除按钮原生样式
查看>>
如何保存图片
查看>>
js中严格模式
查看>>