#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);
}
C 链式栈
最新推荐文章于 2022-10-05 17:51:52 发布