链栈基本操作进出栈
#include "iostream.h"
#define error 0
typedef int elemtype;
typedef struct stacknode
{
elemtype data;
struct stacknode *next;
}stacknode, *linkstack;
void initstack(linkstack &s)
{s=new stacknode;
s=NULL;
void input(linkstack &s,int n)
{ int e;linkstack p;
cout<<"请输入链栈元素值:";
for(int i=0;i<n;i++)
cin>>e;
p=new stacknode;
p->data=e;
p->next=s;
s=p;
}
void output(linkstack &s)
{ linkstack p;
p=s;
cout<<"当前链栈中元素为:";
while(p){
cout<<p->data<<" ";
p=p->next;
//delete p;
}
//cout<<"链栈为空!";
}
void main()
{
linkstack s;
initstack(s);
int n;
cout<<"请输入链栈中元素个数:";
cin>>n;
input(s,n);
output(s);
}
为啥出栈只能取出栈顶元素啊