一,基本概念
stack是一种后进先出的数据结构,它只有一个出口,它允许新添加元素,移除元素,取得顶端元素。但除了最顶端外,没有任何其他方法可以存取其中的其他元素,也就是,stack不允许随机访问。
二,具体的使用
push:将元素插入栈
pop:将元素弹出(元素必须符合后进先出的原则,且stack不提供走访功能,也不提供迭代器)
三,其中的成员函数
empty()堆栈为空则返回为真
pop()移除栈顶元素(不会返回栈顶元素的值)
push()在站定添加元素
size()返回栈中元素的数目
top()返回栈顶元素 //与其他的容器不同的函数
四,用法的代码举例
举例1,
#include<cstdio>
#include<stack>
#include<iostream>
using namespace std;
int main()
{
stack<string> s;
s.push("first");
s.push("second");
s.push("third");
s.push("fourth");
cout<<"s.size()="<<s.size()<<"\n";/输出s.size()=4;
while(!s.empty())
{
cout<<"s.top()="<<s.top()<<"\n";
s.pop();//不能改变或是减少(删除的作用)
}
cout<<"s.size()="<<s.size()<<"\n";
}
举例2,#include <iostream>
#include <stack>
using
namespace
std;
int
main ()
{
stack<
int
> mystack;
for
(
int
i=0; i<5; ++i) mystack.push(i);//输入元素
cout <<
"Popping out elements..."
;
while
(!mystack.empty())
{
cout <<
" "
<< mystack.top();
mystack.pop();//要先把其中的元素置顶,然后才弹出改元素
}
cout << endl;
return
0;
}