栈的基本操作——c++实现
#include<bits/stdc++.h>
using namespace std;
struct Node
{
int data;
Node *next;
Node();
Node(int d,Node *n);
};
Node::Node()
{
data = 0;
next = NULL;
}
Node::Node(int d, Node *n)
{
data = d;
next = n;
}
class LinkStack
{
public:
Node *top;
//建栈
LinkStack()
{
top = new Node();
}
//插入操作
void Push(int d)
{
Node *newNode = new Node(d,top->next);
top->next = newNode;
cout << "StackLinkList Push " << newNode->data << endl;
}
//删除操作
void Pop()
{
cout << "StackLinkList Pop " << top->next->data << endl;
Node *p = top->next;
Node *t = p->next;
top->next = t;
delete p;
}
//取栈顶元素
void Top()
{
cout << "StackLinkList Top " << top->next->da