【c++程序】栈的基本用法
2016-06-06 18:55
316 查看
#include<iostream> #include<string> using namespace std; typedef std::string T; class stack { T a[5]; int cur; public: stack():cur(0){} //数据入栈成为栈顶 void push(const T& d)/*throw(const char*)*/; //栈顶数据出栈 T pop()/*throw(const char*)*/; //取得栈顶数据 const T& top()const/* throw(const char *)*/; //是否空栈 bool empty()const { return cur==0; } //是否已满 bool full()const { return cur==0; } //栈清空 void clear() { cur=0; } //栈中数据个数 int size()const; }; void stack::push(const T& d)/*throw(const char *)*/ { if(full()) throw "Has Been Full!"; a[cur++]=d; } T stack::pop()/*throw(const char *)*/ { if(empty())throw"This is empty!"; return a[--cur]; } const T& stack::top()const /*throw(const char *)*/ { if(empty())throw"This is empty!"; return a[cur-1]; } int main() { stack s; try { s.push("zhaoqilu"); s.push("zhangzhuo"); s.push("zhuxiujing"); s.push("yanhongyi"); s.push("haoxinyu"); } catch(const char* e) { cout<<"the error is "<<e<<endl; } while(!s.empty()) { cout<<s.pop()<<endl; } }
相关文章推荐
- C++第7次作业
- 员工信息管理系统程序
- [C++ 面试基础知识总结] 变量和基本类型
- [C/C++]map自定义比较函数
- C++作业7
- C++中虚函数工作原理和(虚)继承类的内存占用大小计算
- C++:用CreateDirectory创建文件目录
- 【C语言】13-指针和字符串
- C++作业7
- C++ operator关键字(重载操作符)
- 设计模式打怪升级之装饰器模式
- ACM:蓝桥杯:素数距离问题
- c++中函数的介绍(第七章)
- C++实验7——特殊三位数
- C语言求二叉树的高
- C++实现哈希桶
- C++11: g++-4.7 internal compiler error 解决方法
- C语言32关键词分类详解
- C++第7次实验-素数与回文
- C数组和指针相关的问题