码迷,mamicode.com
首页 > 其他好文 > 详细

温故而知新----stack

时间:2017-03-15 00:08:50      阅读:200      评论:0      收藏:0      [点我收藏+]

标签:swa   相互   highlight   elements   ini   element   namespace   元素   lifo   

stack:栈,先进后出,操作方法相对其它容器来说比较少,具有以下特性:
1、LIFO 后进先出,与队列相反,队列时FIFO(先进先出)
2、没有迭代器访问。
3、C++ 11标准中新增了两个接口,如下:
      emplace():在栈顶添加一个新元素
      swap():两个栈相互交互,如:栈A大小2,栈B大小3,交换后栈A大小3,栈B大小2
其它方法测试代码如下:

#include <iostream>
#include <stack>
using namespace std;
int main(int argc, char *argv[]) {
	int iRet = 0;
	std::stack<int> mystack;
	for (int i=0; i<5; ++i) mystack.push(i);//initialize the stack,0,1,2,3,4
	std::cout<<"stack size......";
	std::cout<<mystack.size()<<std::endl;
	std::cout << "Popping out elements...";
	while (!mystack.empty()){
		std::cout << ‘ ‘ << mystack.top();//top stack 4,3,2,1,0
		mystack.pop();//pop stack 4,3,2,1,0
	}
	std::cout << ‘\n‘;
	if(mystack.empty()) std::cout<<"mystack is empty...."<<std::endl;
	std::cout<<"afther pop mystack size:"<<mystack.size()<<std::endl;
	std::cout<<"use c++ 11 standard funcation initialize stack mystack....."<<std::endl;
	return iRet;
}

 结果输出如下:

技术分享

 

温故而知新----stack

标签:swa   相互   highlight   elements   ini   element   namespace   元素   lifo   

原文地址:http://www.cnblogs.com/newzol/p/6551334.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!