C++ stack实现 stac.h
#include<iostream> using namespace std; class Stack{ public: enum {MaxStack = 5} void init() {top=-1;} void push(int n) { if(isFull()){ errMsg("Full stack. Can‘t push."); return; } arr[++top] = n; } int pop(){ if(isEmpty()){ errMsg("Empty stack.Popping dummy value."); return dummy_val; } return arr[top--]; } bool isEmpty(){return top<0;} bool isFull(){return top>MaxStack - 1;} void dump(){ for(int i=top;i>=0;i--) cout<<"\t"<<arr[i]<<"\n"; } private: void errMsg(const char* msg) const{ cerr<<"\n*** Stack operation failure: "<<msg<<endl; } int top; int arr[MaxStack]; int dummy_val; };
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。