虽然可以用数组和队列可以轻易地实现栈,但是在c++的函数库里面已经给出了关于栈的函数
:
1 push 用于在栈的顶端放入一组数据
2 pop 用于在栈的顶端取出(移除)一组数据(不能用访问栈顶的数据)
3 如果要访问栈顶的数据,就要使用stack::top函数
4 由于最后进栈的数据会最先被取出,这种性质就被成为LIFO(即后进先出)
现给出关于栈操作的基础代码:
#include<stack>//ʹÓùØÓÚÕ»²Ù×÷º¯ÊýµÄÍ·Îļþ
#include<iostream>
using namespace std;
int main(void)
{
stack<int> s;//ÉùÃ÷´æ´¢intÀàÐ͵ÄÊý¾ÝµÄÕ»²Ù
s.push(1);//{}---{1}
s.push(2);//{1}--{1,2}
s.push(3); //{1,2}---{1,2,3}
printf("%d\n",s.top());//Êä³öÕ»¶¥µÄÔªËØ£¨×îºó½øÈëÕ»µÄÔªËØ£©
s.pop();//´ÓÕ»¶¥ÒƳýÔªËØ3---{1£¬2£¬3}--{1£¬2}
printf("%d\n",s.top());
s.pop();
printf("%d\n",s.top());
s.pop();
return 0;
}