#include<iostream>
using namespace std;
struct Data
{
Data *next;
int data;
};
class Link_Stack
{
private:
Data *base;
Data *top;
int top1;
public:
Link_Stack()
{
Data *temp=new Data;
temp->data=NULL;
top=temp;
base=top;
top1=0;
}
void push(int n)
{
Data* temp=new Data;
temp->data=n;
temp->next=top;
top=temp;
top1++;
}
int pop()
{
int t;
t=top->data;
top=top->next;
top1--;
return t;
}
void output()
{
Data *p=top;
while(p->data!=NULL)
{
cout<<p->data<<" ";
p=p->next;
}
}
};
int main()
{
Link_Stack a;
int i,n=1,s=0;
cin>>n;
while(n!=0)
{
s++;
a.push(n);
cin>>n;
}
for(i=1;i<=2;i++)
{
cout<<"返回栈顶的元素:"<<a.pop()<<endl;
cout<<"剩下的元素为:";
a.output();
cout<<endl;
}
cout<<endl;
return 0;
}
栈的链式存储
最新推荐文章于 2023-12-03 15:58:55 发布