c++类实现栈

来源:互联网 发布:四驱车 知乎 编辑:程序博客网 时间:2024/06/07 00:27

#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";}