1什么是栈结构
栈结构其实就是一种线性结构,可分为顺序栈结构,和链式栈结构,遵循着后进先出的原则。
2栈的基本操作
入栈:将数据保存到栈顶的操作。进行入栈前修改栈顶引用,使其向上移一个元素位置,然后将数据保存到栈顶
引用所指的位置。
出栈:将栈顶的数据弹出的操作。通过修改栈顶引用,使其指向栈的下一个元素。
3java代码表示栈结构
class Data3{
string name;
int age;
}
class stacktype
{
static final int maxlen=50;
Data3[] data=new Data3[maxlen+1];
int top;
}
初始化栈结构
stacktype stinit(){
stacktype p;
if(p=new stacktype()!=null)
{
p.top=0;
return p;
}
return null;
}
判断空栈
boolean stisempty(stacktype s)
{
boolean t;
t=(s.top==0);
return t;
}
判断栈满
boolean stisfull(stacktype s){
boolean t;
t=(s.top=maxlen);
return t;
}
清空栈
void stclear(stacktype s){
s.top=0;
}
释放空间
void stfree(stacktype s){
if(s!=null)
{
s=null;
}
}
入栈
int pushst(stacktype s,Data data){
if(s.top+1)>maxlen)
{
system.out.print(溢出);
return 0;
}
s.data[++s.top]=data;
return 1;
}
出栈
Data3 popst(stacktype s)
{
if(s.top==0){
system/out.print(栈为空);
system.exit(0);
}
return (s.data[s.top--]);
}
读结点数据
Data3 peekst(stacktype s){
if(s.top==0){
system.out.print(栈为空):
system.exit(0);
}
return (s.data[s/top];
}