⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ex3-1-6g.h

📁 一些学习c++的例题
💻 H
字号:
#include <iostream>

using namespace std;

class CStack
{
private:
   int SP, Depth;
   int *Cells;

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

   CStack(int d = 100)
   {
      if ( d < 0 || d > 100 ) d = 100;
      Depth = d;
      SP = 0;
      Cells = new int[d];
   }

   ~CStack() { delete []Cells; }

   OPCODE Push(int value)
   {
      if ( SP == Depth )
      {
	 cout << "Stack overflow!\n";
	 return OP_OVERFLOW;
      }

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

   OPCODE Pop(int& value)
   {
      if ( SP == 0 )
      {
	 cout << "Stack is empty!\n";
	 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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -