文章源自:http://blog.youkuaiyun.com/cmm0401/article/details/71978187?locationNum=9&fps=1
C++ STL标准库——栈stack介绍
C++ Stack(堆栈) 是一个容器类的改编,为程序员提供了堆栈的全部功能,——也就是说实现了一个先进后出(FILO)的数据结构。
C++ STL栈stack的头文件为: #include <stack>
C++ STL栈stack的成员函数介绍:
操作比较和分配堆栈
empty()堆栈为空,则返回true。
pop()移除栈顶元素。
push()在栈顶增加元素。
size()返回栈中元素数目。
top()返回栈顶元素。
C++ STL栈stack用法代码举例1
- #include "stdafx.h"
- #include <stack>
- #include <vector>
- #include <deque>
- #include <iostream>
-
- using namespace std;
-
- int _tmain(int argc, _TCHAR* argv[])
- {
- deque<int> mydeque(2,100);
- vector<int> myvector(2,200);
-
- stack<int> first;
- stack<int> second(mydeque);
-
- stack<int,vector<int> > third;
- stack<int,vector<int> > fourth(myvector);
-
- cout << "size of first: " << (int) first.size() << endl;
- cout << "size of second: " << (int) second.size() << endl;
- cout << "size of third: " << (int) third.size() << endl;
- cout << "size of fourth: " << (int) fourth.size() << endl;
-
- return 0;
- }
c++ stl栈stack用法代码举例2
- <strong><span style="color:#FF0000;">
- #include <iostream>
- #include <stack>
- using namespace std;
-
- int main ()
- {
- stack<int> mystack;
- int sum (0);
-
- for (int i=1;i<=10;i++) mystack.push(i);
-
- while (!mystack.empty())
- {
- sum += mystack.top();
- mystack.pop();
- }
-
- cout << "total: " << sum << endl;
-
- return 0;
- }
c++ stl栈stack用法代码举例3
- <span style="color:#FF0000;"><strong>
- #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;
- }
c++ stl栈stack用法代码举例4
- #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;
- }