STL中的栈(常用)
#include<stack>
stack<int>s;
s.pop();
s.top();
s.push();
s.empty();
链栈创建
typedef struct linkStack{
int data;
struct linkStack* next;
}LinkStackNode,*LinkStack;
初始化
void initStack(LinkStack &s) {
s = NULL;
}
入栈操作
void push(LinkStack &s, int x) {
LinkStack p = new LinkStackNode
p->data = x
p->next = s
s = p
}
获取栈顶元素
int getTop(LinkStack &s) {
return s->data;
}
出栈操作
void pop(LinkStack &s) {
LinkStack p = s
s = s->next
delete p
}
判断栈是否为空
bool isEmpty(LinkStack &s) {
if (s == NULL) return 1;
else return 0;
}