您的位置:首页 > 理论基础 > 数据结构算法

C 链式栈

2016-06-05 21:24 381 查看
#include<stdio.h>
#include<malloc.h>

typedef struct Stack
{
int n;
struct Stack* next;
}Stack,*pStack;

pStack initStack()
{
pStack p=(pStack)malloc(sizeof(Stack));
p->next=NULL;
return p;
}
void push(pStack *pHead,int w)
{
pStack pNew=(pStack)malloc(sizeof(Stack));
pNew->n=w;
pNew->next=*pHead;
*pHead=pNew;
}
void pop(pStack pHead)
{
do{
pStack pTemp=pHead->next;
free(pHead);
pHead=pTemp;
}while(NULL!=pHead->next);
}
void show(pStack pHead)
{
pStack pTemp=pHead;
do{
printf("%d\n",pTemp->n);
pTemp=pTemp->next;
}while(NULL!=pTemp->next);
}
void main()
{
int h,w;
pStack pHead=initStack();
for(h=0;h<=6;h++)
{
printf("输入第%d个数的值",h+1);
scanf("%d",&w);
push(&pHead,w);//压栈
}
show(pHead);
//pop( pHead);

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  数据结构