zoukankan      html  css  js  c++  java
  • 温故而知新----stack

    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 << '
    ';
    	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;
    }
    

     结果输出如下:

  • 相关阅读:
    Unity NGUI 3.0.4版本 制作网络版斗地主
    unity3D与网页的交互---做项目的一点总结
    Cross-platform Tools
    Win7下Qt5的安装及使用
    VS Installer教程
    C++ & MFC
    论文模板的定制
    批处理文件
    MFC六大关键技术
    C/C++常用预处理指令
  • 原文地址:https://www.cnblogs.com/newzol/p/6551334.html
Copyright © 2011-2022 走看看