📄 stack.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 + -