#include <iostream>
using namespace std;
class stack;
class node
{
int data;
node *prev; //可以定义一个node类型的指针
public:
node(int d,node *n) //
{
data =d;
prev=n;
}
friend class stack;
};
class stack
{
node *top;
public:
stack(){top=0;} //空指针
void push(int i);
int pop();
};
void stack::push(int i)
{
node *n=new node(i,top);//data=i;
top=n; // n=top;
}
int stack::pop()
{
node *t=top;
if (top)
{
top=top->prev;
int c=t->data;
delete t;
return c;
}
return 0;
}
void main()
{
int c;
stack s; //
for (int i=0;i<10;i++)
{
cin>>c;
s.push(c);
}
for (i=0;i<10;i++)
{
cout<<s.pop()<<" ";
}
cout<<"/n";
}
c++类实现栈
最新推荐文章于 2024-04-29 17:02:10 发布