栈的链式存储
#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;}- 1楼lirentai昨天 12:53
- 上课写的时候思路怎么那么乱?