1.栈的定义
static final int MAXLEN=50;
class DATA2
{
String name;
int age;
}
class StackType
{
static final int MAXLEN=50;
DATA2[] data = new DATA2[MAXLEN+1]; // 数据元素
int top; //栈顶
}
2.初始化栈结构
StackType STInit()
{
StackType p;
if((p=new StackType())!=null) // 申请栈内存
{
p.top=0; //设置栈顶为0
return p; // 返回指向栈的引用
}
return 0;
}
3.判断栈空
boolen STIsEmpty(StackType s)
{
boolean t;
t=(s.top==0);
return t;
}
4.判断栈满
boolean STIsFull(StackType s)
{
boolean t;
t=(s.top==MAXLEN);
return t;
}
5.清空栈
void STClear(StackType s)
{
s.top=0;
}
6.释放空间
void STFree(StackType s)
{
if(s!=null)
{
s=null;
}
}
7.入栈
int PushST(StackType s,DATA2 data)
{
if((s.top+1)>MAXLEN)
{
System.out.print("栈溢出!
");
return 0;
}
s.data[++s.top]=data; //将元素入栈
return 1;
}
8.出栈
DATA2 PopST(StackType s)
{
if(s.top=0)
{
System.out.print("栈为空!
");
return 0;
}
return (s.data[s.top--]);
}
9.读结点数据
DATA2 PeekST(StackType s)
{
if(s.top==0)
{
System.out.print("栈为空!
");
System.exit(0);
}
return (s.data[s.top]);
}