用单链表实现stack
来源:互联网 发布:怎样关闭服务器80端口 编辑:程序博客网 时间:2024/04/25 19:08
#include <iostream>using namespace std;struct node{ double var; node *parent; node(){}};class stack{ private : int num; node *front; public: stack(){ num = 0; front = NULL; } void push(double v){ node * tmp = new node(); tmp->var = v; tmp->parent = front; front = tmp; num ++; } double top(){ if(num==0){ cout << "no element!" << endl; return 0; } return front->var; } double pop(){ if(num==0){ cout << "pop from empty stack!" << endl; return 0; } double s = front->var; node* tmp = front; front = front->parent; delete tmp; num--; return s; } ~stack(){ while( num!=0){ cout << "pop: "<< pop() << endl; } }};int main(){ stack s; for(int i=0;i<10;i++){ s.push(i); } for(int i=1;i<5;i++){ s.pop(); } cout <<s.top() << endl;}