链栈的基本操作:初始化、入栈、出栈、查找栈顶元素
#include<stdio.h>
typedef struct Linknode{
int data;
struct Linknode *next;
}Linknode;
//fun:初始化栈
//brief@sqstack
//return true
bool InitStack(Linknode &S){
Linknode *p;
p=&S;
p->next=NULL;
}
//fun:往栈中添加一个元素
//brief@Linknode
//return true
bool Push(Linknode &S,int X){
Linknode *p;
p=&S;
if(p->next==NULL)
return false;
p->data=X;
return true;
}
//fun:让栈中的元素出去一个
//brief@Linknode
//returntrue
bool Pop(Linknode &S,int X) {
Linknode *p;
p=&S;
if(p->next==NULL)
return false;
X=p->data;//记录出栈的数据
return true;
}
//fun:获取栈顶元素
//brief@Linknode
//return true
bool GetTop(Linknode &S,int X){
Linknode *p;
p=&S;
if(p->next==NULL)
return false;
X=p->data;
return true;
}
int main(){
return 1;
}