#include <stdlib.h>
typedef struct node
{
int data;
struct node *next;
}Stacknode,*LinkStack;
LinkStack kongzhan()
{
return NULL;
}
int pankong(LinkStack top)
{
if(top==NULL)
return 1;
else
return 0;
}
int ruzhan(LinkStack top,int x)
{
Stacknode *s;
s=malloc(sizeof(Stacknode));
s->data=x;
s->next=top;
top=s;
printf(" %d",top->data);
return top;
}
LinkStack chuzhan(LinkStack top,int *x)
{
Stacknode *p;
if(top==NULL)
return NULL;
else
{
*x=top->data;
p=top;
top=top->next;
free(p);
return top;
}
}
main()
{
LinkStack top=kongzhan();
LinkStack top1;
int x=-1,flag=1;
int i=0;
for(i=0;x!=0;i++)
{
printf("qing shu ru ni yao ru zhan de di %d ge yuan su:",flag);
scanf("%d",&x);
if(x!=0)
flag++;
}
ruzhan(top,x);
top1=top;
while(top!=NULL)
{
printf("%d\t",top->data);
top->next;
flag--;
}
top=top1;
getch();
}
小弟最近在学习,数据结构(c语言版的)。但是学到栈和队列的时候,遇到麻烦。以上是我写的一段程序,入栈没有问题,但是我想把入栈后的所有元素读出,但是不是让他们出栈,总是读不出来,我怀疑 {
printf("%d\t",top->data);
top->next;
flag--;
}
但是就是找不到原因,请高手指点。。。小弟先谢过了。。。