#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;
}
用单链表实现stack
最新推荐文章于 2022-05-06 23:34:20 发布