zoukankan      html  css  js  c++  java
  • STL——(5)stack容器

    1. stack 基本概念

    概念:stack是一种先进后出(First In Last Out,FILO)的数据结构,它只有一个出口

    在这里插入图片描述

    栈中只有顶端的元素才可以被外界使用,因此栈不允许有遍历行为

    栈中进入数据称为 — 入栈 push

    栈中弹出数据称为 — 出栈 pop

    2. stack 常用接口

    功能描述:栈容器常用的对外接口

    构造函数:

    • stack<T> stk; //stack采用模板类实现, stack对象的默认构造形式
    • stack(const stack &stk); //拷贝构造函数

    赋值操作:

    • stack& operator=(const stack &stk); //重载等号操作符

    数据存取:

    • push(elem); //向栈顶添加元素
    • pop(); //从栈顶移除第一个元素
    • top(); //返回栈顶元素

    大小操作:

    • empty(); //判断堆栈是否为空
    • size(); //返回栈的大小

    示例:

    #include <stack>
    
    //栈容器常用接口
    void test01()
    {
    	//创建栈容器 栈容器必须符合先进后出
    	stack<int> s;
    
    	//向栈中添加元素,叫做 压栈 入栈
    	s.push(10);
    	s.push(20);
    	s.push(30);
    
    	while (!s.empty()) {
    		//输出栈顶元素
    		cout << "栈顶元素为: " << s.top() << endl;
    		//弹出栈顶元素
    		s.pop();
    	}
    	cout << "栈的大小为:" << s.size() << endl;
    
    }
    
    int main() {
    
    	test01();
    
    	system("pause");
    
    	return 0;
    }
    

    总结:

    • 入栈 — push
    • 出栈 — pop
    • 返回栈顶 — top
    • 判断栈是否为空 — empty
    • 返回栈大小 — size
  • 相关阅读:
    测试VPS
    [转] 如何在vps上安装和登录Xwindows
    [转]设置修改CentOS系统时区
    顺序队列
    求二叉树的高度
    VMware Workstation cannot connect to the virtual machine
    如何查看hadoop是32位还是64位
    64位CentOS上编译 Hadoop 2.2.0
    hadoop 2.X下eclipse配置
    删除文件及文件夹
  • 原文地址:https://www.cnblogs.com/long5683/p/12885773.html
Copyright © 2011-2022 走看看