一、结构体
//不带头结点的链栈结构体定义
typedef struct LNode{
int data;
struct LNode *next;
}LNode;
二、初始化
代码如下(示例):
//初始化
void InitStack(LNode *&lst){
lst = NULL;
}
三、判空
代码如下(示例):
//判空
int IsEmpty(LNode *lst){
if (lst == NULL){
printf("空\n");
return 1;
}
else{
printf("不空");
return 0;
}
}
四、入栈
代码如下(示例):
//入栈
void Push(LNode *&lst, int x){
LNode *a;
a = (LNode *)malloc(sizeof(LNode));
a->data = x;
a->next = NULL;
a->next = lst;
lst = a;
}
五、出栈
代码如下(示例):
//出栈
void Pop(LNode *&lst, int &x){
if (lst == NULL){
printf("链栈为空,无法完成出栈操作\n");
}
else{
LNode *a;
a = lst;
lst = lst->next;
free(a);
}
}