#include <stdio.h>
//定义
typedef struct Linknode {
ElemType data;
struct Linknode *next;
} *Linklist;
//初始化
//不带头节点
bool Initlist(LinkList &L) {
if (L == NULL)
return true;
}
//插入
bool push(Linknode &L, Elempy x) {
Linknode *p;
p = L;
Linknode *s = (Linknode *)malloc(sizeof (Linknode));
s->data = e;
if (L == NULL) {
s->next = NULL;
L = s;
} else
s->next = L;
L = s;
}
//删
bool pop(Linknode &L, Elempy &x) {
if (L == NULL) {
return false;
}
x = L->data;
Linknode *P;
p = L;
L = p->next;
free(p);
}
//改
bool List(Linknode &L, i, Elempy x) {
if (L == NULL) {
return false;
}
int j;
Linknode *P;
p = L;
for (j = 0; j < i; j++) {
p = p->next;
}
p->data = x;
}
//带头节点
bool InitList(linkList &L) {
L = (Linknode *)malloc(sizeof (Linknode));
if (L == NULL)
return false;
L->next = NULL;
return true;
}
//插入
bool push(Linknode &L, Elempy x) {
Linknode *p;
p = L;
Linknode *s = (Linknode *)malloc(sizeof (Linknode));
s->data = e;
if (L->data == NULL) {
s->next = NULL;
} else
s->next = p->next;
p = s;
L = p;
}
bool pop(Linknode &L, Elempy &x) {
if (L->next == NULL) {
return false;
}
x = L->next->data;
Linknode *P;
p = L->next;
L = p->next;
free(p);
}
//定义一个取出栈顶元素的方法
void GetTop(Linknode *L) {
if (L->next == NULL) {
return false;
} else {
printf("栈顶元素为:%d\n", L->next->data);
}
}
void show(Linknode *L) {
Stack *p = L->next;
while (p) {
printf("%d-", p->data);
p = p->next;
}
}
int main(void) {
Linklist L;
InitList(&L);
Push(&L, 0);
Push(&L, 1);
Push(&L, 2);
return 0;
}