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

📄 stack.cpp

📁 棧的实现
💻 CPP
字号:
// stack.cpp

//数组栈类实现

#include "stack.h"
#include <iostream>
using namespace std;

CArrayStack::CArrayStack()
{
	top_pointer=0;
}
CArrayStack::CArrayStack(const CArrayStack &s)
{
    top_pointer=1;
	for(;top_pointer<=s.top_pointer;top_pointer++)
	{
		ArrayOfStack[top_pointer]=s.ArrayOfStack[top_pointer];
	}
	top_pointer--;
}
CArrayStack::~CArrayStack()
{
}

bool CArrayStack::pop(char *c)
{
	if(top_pointer!=0)
	{
	  *c=ArrayOfStack[top_pointer];
	  top_pointer--;
	  return true;
	}
	else
	{
		return false;
	}
}

bool CArrayStack::push(char c)
{
	if(top_pointer<MAXSIZE)
	{
		top_pointer++;
		ArrayOfStack[top_pointer]=c;
		return true;
	}
	else
	{
		return false;
	}
}
bool CArrayStack::IsEmpty(void)
{
	if(top_pointer==0)
	{
		return true;
	}
	else
	{
		return false;
	}
}
bool CArrayStack::IsFulll(void)
{
	if(top_pointer<MAXSIZE+1)
	{
		return false;
	}
	else
	{
		return true;
	}
}
void CArrayStack::makeEmpty(void)
{
	top_pointer=0;
}
bool CArrayStack::operator == (const CArrayStack &s)
{
	int i;
	if(top_pointer!=s.top_pointer)
	{
		return false;
	}
	for(i=1;i<=top_pointer;i++)
	{
		if(ArrayOfStack[i]!=s.ArrayOfStack[i])
		{
			return false;
		}
	}
	return true;
}
void CArrayStack::operator =(const CArrayStack &s)
{
   top_pointer=1;
   for(;top_pointer<=s.top_pointer;top_pointer++)
   {
	   ArrayOfStack[top_pointer]=s.ArrayOfStack[top_pointer];
   }
   top_pointer--;
}
void CArrayStack::Print(void)
{
  int i;
  if(top_pointer==0)
  {
	  cout<<"(empty)"<<endl;
	  return;
  }
  for(i=1;i<=top_pointer;i++)
  {
	  cout<<ArrayOfStack[i]<<" ";
  }
  cout <<endl;
}

⌨️ 快捷键说明

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