ex3-1-6.h

来自「一些学习c++的例题」· C头文件 代码 · 共 46 行

H
46
字号
#include <iostream>

using namespace std;

class CStack
{
#define	DEPTH	100

private:
   int SP;
   int Cells[DEPTH];

public:
   enum OPCODE { OP_OVERFLOW, OP_ISEMPTY, OP_SUCCESSFUL };

   void Initialize() { SP = 0; }

   OPCODE Push(int value)
   {
      if ( SP == DEPTH ) return OP_OVERFLOW;

      Cells[SP++] = value;
      return OP_SUCCESSFUL;
   }

   OPCODE Pop(int& value)
   {
      if ( SP == 0 ) return OP_ISEMPTY;

      value = Cells[--SP];
      return OP_SUCCESSFUL;
   }

   bool IsEmpty(void) { return SP == 0; }

   void Empty(void) { SP = 0; }

   void StackWalk(void)
   {
      if ( !IsEmpty() )
	 for ( int i = 0; i < SP; i++ )
	    cout << "Stack walking: cell[" << i << "]=" << Cells[i] << endl;
      else
	 cout << "Stack is empty now.\n";
   }
};

⌨️ 快捷键说明

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