动态数组实现的Stack类(过渡版)
来源:互联网 发布:城门失火 殃及池鱼知乎 编辑:程序博客网 时间:2024/06/14 15:26
//-------------DStack.h----------------#include<iostream>#ifndef DSTACK#define DSTACKtypedef int StackElement;class Stack{public: Stack(int numElements=128);bool empty() const;void push(const StackElement & value);void display(ostream & out) const;StackElement top() const;void pop();private:int myTop;int myCapacity;StackElement *myArray;};#endif
//------------DStack.cpp------------------#include<iostream>#include<cassert>#include<new>using namespace std;#include"DStack.h"Stack::Stack(int numElements){assert(numElements>0);myCapacity=numElements;myArray=new (nothrow) StackElement[myCapacity];if(myArray!=0)myTop=-1;else{cout<<"Inadequate memory to allocate stack \n";exit(1);}}bool Stack::empty() const{return (myTop==-1);}void Stack::push(const StackElement & value){if(myTop<myCapacity-1){myTop++;myArray[myTop]=value;}else{cerr<<"***Stack full -- can't add new value ***\n";exit(1);}}void Stack::display(ostream & out) const{for(int i=myTop;i>=0;i--)out<<myArray[i]<<endl;}StackElement Stack::top() const{if(!empty()){return (myArray[myTop]);}else{cerr<<"***Stack is empty -- returning garbage value ***"<<endl;StackElement garbage;return garbage;}}void Stack::pop(){if(!empty())myTop--;elsecerr<<"*** Stack is empty -- can't remove a value ***\n";}
//-------------DStack_main.cpp---------------------#include<iostream>using namespace std;#include"DStack.h"int main(){Stack s;cout<<"Enter second stack's capacity: ";int cap;cin>>cap;Stack s2(cap);/*////// */return 0;}
阅读全文
1 0
- 动态数组实现的Stack类(过渡版)
- Stack类模板的动态数组实现(基本功能)
- 动态数组实现的Stack类(完整版)
- 动态数组实现stack
- 动态数组的Stack类模板的实现
- 数据结构栈stack的动态数组实现
- 基于动态数组的Stack类
- stack的数组实现
- 静态数组实现的Stack类
- stack 底层简单实现 动态数组
- [数据结构]Stack(数组)实现
- stack的数组实现(结构体封装版)
- 算法导论------------栈(stack)简单的数组实现
- 算法学习之路(2):stack的数组实现
- 动态栈Stack的C语言实现
- 基于数组的Stack类
- Stack(1)Stack的顺序实现
- Stack(2)Stack的链式实现
- css基础-对网页进行美化
- 在eclipse中搭建struts2框架的详细过程
- codeforces 812C Sagheer and Nubian Market
- Hibernate整理
- Python list tuple dict set map小总结
- 动态数组实现的Stack类(过渡版)
- sdnuoj1036感想
- python 利用pymssql连接sqlserver、查询、传参、插入新表案例
- 调用系统相机拍照功能
- Ajax核心XMLHttpRequest简析
- Java MongoDB 教程
- 【noip 2015】信息传递
- Linux针对克隆或者复制虚拟机时,更改网络(NAT模式/固定IP)适配参数
- 签名算法