#include <stdio.h>
#include <malloc.h>
typedef int elem;
typedef struct LNode {
elem data;
struct LNode* next;
}LNode;
void initialStack(LNode*& L) {
L = NULL;
}
int isEmpty(LNode* L) {
if (L == NULL)
return 1;
else
return 0;
}
void push(LNode*& L, elem x) {
LNode* p;
p = (LNode*)malloc(sizeof(LNode));
p->next = NULL;
p->next = L;
p->data = x;
L = p;
}
int pop(LNode*& L, elem& x) {
LNode* p;
if (L == NULL)
return 0;//栈为空的情况
x = L->data;
p = L;
L = p->next;
//free(p);
return 1;
}
用不带头结点的链表存储链栈,设计初始化链栈、判断栈是否为空、进栈和出栈等相应的算法
最新推荐文章于 2022-12-14 16:39:39 发布