• 温故而知新----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;
    }
    

     结果输出如下:

  • 相关阅读:
    [CF598E] Chocolate Bar
    [CF629D] Babaei and Birthday Cake
    [CF961D] Pair Of Lines
    [CF468B] Two Sets
    [CF767C] Garland
    [CF864E] Fire
    [CF578C] Weakness and Poorness
    [CF555B] Case of Fugitive
    [CF118E] Bertown roads
    [CF1301D] Time to Run
  • 原文地址:https://www.cnblogs.com/newzol/p/6551334.html
Copyright © 2020-2023  润新知