#include <stdio.h>
#include <stdlib.h>
//建立结构体
typedef struct Stack{
int data;
struct Stack *next;
}Stack,*Top;
//创建队列
void Init(Top *p){
*p = NULL;
}
//创建节点
Top Creat(int x){
Stack *p;
p = (Stack *)malloc(sizeof(Stack));
p->data = x;
p->next = NULL;
return p;
}
//压栈
int Push(Top *p, int x){
Stack *t;
t = Creat(x);
t->next = *p;
*p = t;
return 1;
}
//弹栈
int Pop(Top *p, int *px){
if(*p == NULL)
return -1;
else{
Stack *t;
*px = (*p)->data;
t = *p;
*p = t->next;
free(t);
return 1;
}
}
//输出整个栈
int Print(const Top *p){
Stack *t;
t = *p;
if(t == NULL)
return -1;
else{
while(t){
printf("%d\n",t->data);
t = t->next;
}
return 1;
}
}
链式栈
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- Java代码实现顺序栈和链式栈 栈(stack)又名堆栈,它是一种运算受限的线性表。其限制是仅允许在表的一端进行插...
- /** * 用不带头结点的单链表构造的链式栈 * LinkedStack * 创建人:guxiaohao * 时间...