//直接上代码
#include "stdio.h" #include "stdlib.h" #include <malloc.h> #define SElemType int #define Status int #define ok 1 #define error 1 //========链栈的存储结构=============== typedef struct StackNode { SElemType data; struct StackNode *next; }StackNode,*LinkStack; Status InitStack(LinkStack &S) { //构造一个空栈S,栈顶指针置空 S=NULL; return ok; } Status Push(LinkStack &S,SElemType e) { //在栈顶插入元素e LinkStack p; p=new StackNode; //生成新节点 p->data=e; p->next=S; S=p; return ok; } Status Pop(LinkStack &S,SElemType &e) { //删除S的栈顶元素,用e返回其值 LinkStack p; if(S=NULL) return error; e=S->data; p=S; S=S->next; delete p; return ok; } SElemType GetTop(LinkStack S) { //返回S的栈顶元素,不修改栈顶指针 if(S!=NULL) //栈非空 return S->data; } int main() { return 0; }