作者 CppLive | 发表于 2011-06-16
分章分类 : C++, 标准模板库
标签: C++, STL, 容器
1、stack——容器适配器之一,实现堆栈功能,及FILO(先进后出)的数据结构,成员函数有push, pop, size, top, empty;
#include <iostream>
#include <stack>
#include <vector>
#include <algorithm>
#include <numeric>
using namespace std;
int main ()
{
vector<int> v1(5), v2(5), v3(5);
iota(v1.begin(), v1.end(), 0);
iota(v2.begin(), v2.end(), 5);
iota(v3.begin(), v3.end(), 10);
stack<vector<int> > s;
s.push(v1);
s.push(v2);
s.push(v3);
cout << "size of stack 's' = "
<< s.size() << endl;
if ( v3 != v2 )
s.pop();
cout << "size of stack 's' = "
<< s.size() << endl;
vector<int> top = s.top();
cout << "Contents of v2 : ";
copy(top.begin(),top.end(),
ostream_iterator(cout," "));
cout << endl;
while ( !s.empty() )
s.pop();
cout << "Stack 's' is " << (s.empty() ? ""
: "not ") << "empty" << endl;
return 0;
}
运行结果:
// size of stack 's' = 3
// size of stack 's' = 2
// Contents of v2 : 5 6 7 8 9
// Stack 's' is empty
阅读全文