#include
#include
typedef int ElemType;
typedef struct Linknode {
ElemType data;
struct Linknode *next;
} LiStack;
LiStack* LiStack_HeadInsert() {
LiStack *L = (LiStack*) malloc(sizeof(LiStack));
L->next = NULL;
return L;
}
void LiStack_Push(LiStack *L, ElemType e) {
LiStack *s;
s = (LiStack*) malloc(sizeof(LiStack));
s->data = e;
s->next = L->next;
L->next = s;
}
void LiStack_Pop(LiStack *L) {
L->next = L->next->next;
}
int GetTop(LiStack *L) {
int x = L->next->data;
return x;
}
int main() {
LiStack *L = LiStack_HeadInsert();
LiStack_Push(L, 100);
LiStack_Push(L, 101);
ElemType i = GetTop(L);
printf("栈顶元素为:%d\n", i);
LiStack_Pop(L);
ElemType j = GetTop(L);
printf("栈顶元素为:%d", j);
}