dnf散打90级刷图加点:数据结构二:栈(C++代码)
来源:百度文库 编辑:偶看新闻 时间:2024/05/06 21:35:08
数据结构系列均是本人个人搜集和写出来的,若有错误请大家批评指正。(有的是c++,有的是伪代码)
1. 栈
#include
using namespace std;
template
class Stack
{
public:
Stack(int msize=100);
~Stack();
bool IsEmpty();
bool IsFull();
bool Top(T& x);
bool Push(T x);
bool Pop();
void Clear();
void OutPut(ostream& out=cout);
private:
int top;
int maxtop;
T *s;
};
template
Stack
{
top=-1;
maxtop=msize-1;
s=new T[msize];
}
template
Stack
{
delete []s;
}
template
bool Stack
{
return top==-1;
}
template
bool Stack
{
return top==maxtop;
}
template
bool Stack
{
if(Isempty())
{
cout << "UnderFlow" << endl;
return false;
}
x=s[top];
return true;
}
template
bool Stack
{
if(IsFull())
{
cout << "OverFlow" << endl;
return false;
}
s[++top]=x;
return true;
}
template
bool Stack
{
if(IsEmpty())
{
cout << "UnderFlow" << endl;
return false;
}
--top;
return true;
}
template
void Stack
{
if(IsEmpty())
{
out << "Empty" << endl;
return;
}
for(int i=0;i
{
cout << s[i] << ' ';
}
out << endl;
return;
}
template
void Stack
{
top=-1;
}