zoukankan      html  css  js  c++  java
  • C++STL——堆栈

    一、相关定义

    原理:stack队列是一个线性存储表,插入和删除只在栈顶进行,从而构成了一个后进先出LIFO表。

    入栈&出栈:元素的插入称为入栈,元素的删除称为出栈。

    stack是一种关联容器,是通过简单地修饰线性类deque的接口而获得的另一种“容器类”,往往被归结为配接器(adapter)而不是容器(Container)。

    stack不能遍历,所以没有迭代器!!!

    底层容器除了deque外还可采用list。

    二、stack使用

    使用该容器时需要包含#include<stack>头文件;
    定义stack对象的示例代码如下:
    stack<int>s1;
    stack<string>s2;

    stack的基本操作有:
    1.入栈:如s.push(x);
    2.出栈:如 s.pop().注意:出栈操作只是删除栈顶的元素,并不返回该元素。
    3.访问栈顶:如s.top();
    4.判断栈空:如s.empty().当栈空时返回true。
    5.访问栈中的元素个数,如s.size();

    代码
    #include<iostream>
    #include<stack>
    using namespace std;
    
    int main()
    {
    	stack<int> s;
    	s.push(1);
    	s.push(2);
    	s.push(3);
    	s.push(9);
    	
    	cout<<s.top()<<endl;
    	cout<<s.size()<<endl;
    	cout<<s.empty()<<endl;
    	
    	while(s.empty() != true)
    	{
    		cout<<s.top()<<" ";
    		s.pop();
    	}
    	cout<<endl;
    	
    	return 0;
    }
    
  • 相关阅读:
    windows 系列机器查看tcp 配置
    test windows live writer
    win7 mysql 启动 问题
    用enum枚举量做下标初始化数组
    二层VXLAN静态配置
    pip install scrapy报错原文
    python练习2
    pycharm字体大小设置快捷键的方法
    python练习1
    centos 7下修改IP地址为静态
  • 原文地址:https://www.cnblogs.com/xzxl/p/7267275.html
Copyright © 2011-2022 走看看