#include<iostream>
#define stack_size 10
using namespace std;
struct Node
{
int val;
Node * next;
};
class Stack
{
public:
Stack();
~Stack();
void Push(int);
int Pop();
bool Empty() { return !size; }
int Size() { return size; }
private:
Node node;
Node *top;
int size = 0;
//Node *top;
};
int main() {
Stack S;
S.Push(1);
S.Push(2);
S.Push(2);
for (int i = 0; i < 3; i++) {
std::cout << S.Pop()<<" ";
}
std::cout << endl;
return 0;
}
Stack::Stack()
{
node.next = NULL;
node.val = 0;
top = &node;
}
Stack::~Stack()
{
for (; top != &node;) {
Node *ptr = top;
top = top->next;
delete ptr;
}
}
void Stack::Push(int n)
{
Node *temp = new Node;
temp->val = n;
temp->next = top;
top = temp;
size++;
}
int Stack::Pop() {
if (top == &node) {
return -1;
}
int temp = top->val;
Node * ptr = top;
top = top->next;
delete ptr;
size--;
return temp;
}
栈(指针
最新推荐文章于 2024-07-23 12:29:02 发布