stack.cpp

来自「这我们老师对是面向对象程序设计(清华大学出版社)一书制作的PPT」· C++ 代码 · 共 40 行

CPP
40
字号
#include <iostream.h>
class Stack {
public:
   enum { MaxStack = 5 };
   Stack() { 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; }
   
private:
   void errMsg( const char* msg ) const {
      cerr << "\n*** Stack operation failure: " << msg << '\n';
   }
   int top;
   int arr[ MaxStack ];
   int dummy_val;
};
void main()
{
	Stack s;
	for (int i=1;i<=5;i++)
		s.push(i);
	s.push(6);
	for (i=1;i<=5;i++)
		cout<<s.pop();
	cout<<s.pop();
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?