💻
C++
  • C++学习指南
  • 第一章 基础入门
    • 1 C++初识
      • 1.1 Visual Studio 下载及安装
      • 1.2 第一个C++程序
      • 1.3 注释
      • 1.4 变量
      • 1.5 常量
      • 1.6 关键字
      • 1.7 标识符命名规则
  • 2 数据类型
    • 2.1 整型
    • 2.2 sizeof关键字
    • 2.3 实型(浮点型)
    • 2.4 字符型
    • 2.5 转义字符
    • 2.6 字符串型
    • 2.7 布尔类型 bool
    • 2.8 数据的输入
  • 3 运算符
    • 3.1 算术运算符
    • 3.2 赋值运算符
    • 3.3 比较运算符
    • 3.4 逻辑运算符
  • 4 程序流程结构
    • 4.1 选择结构
    • 4.2 循环结构
    • 4.3 跳转语句
  • 5 数组
    • 5.1 概述
    • 5.2 一维数组
    • 5.3 二维数组
  • 6 函数
    • 6.1 概述
    • 6.2 函数的定义
    • 6.3 函数的调用
    • 6.4 值传递
    • 6.5 函数的常见样式
    • 6.6 函数的声明
    • 6.7 函数的分文件编写
  • 7 指针
    • 7.1 指针的基本概念
    • 7.2 指针变量的定义和使用
    • 7.3 指针所占内存空间
    • 7.4 空指针和野指针
    • 7.5 const修饰指针
    • 7.6 指针和数组
    • 7.7 指针和函数
    • 7.8 指针、数组、函数
  • 8 结构体
    • 8.1 结构体基本概念
    • 8.2 结构体定义和使用
    • 8.3 结构体数组
    • 8.4 结构体指针
    • 8.5 结构体嵌套结构体
    • 8.6 结构体做函数参数
    • 8.7 结构体中const使用场景
    • 8.8 结构体案例
  • 第二章 核心编程
    • 9 内存分区模型
      • 9.1 程序运行前
      • 9.2 程序运行后
      • 9.3 new操作符
    • 10 引用
      • 10.1 引用的基本使用
      • 10.2 引用的注意事项
      • 10.3 引用做函数参数
      • 10.4 引用做函数返回值
      • 10.5 引用的本质
      • 10.6 常量的引用
    • 11 函数提高
      • 11.1 函数默认参数
      • 11.2 函数占位参数
      • 11.3 函数重载
    • 12 类和对象
      • 12.1 封装
      • 12.2 对象的初始化和清理
      • 12.3 C++对象模型和this指针
      • 12.4 友元
      • 12.5 运算符重载
      • 12.6 继承
      • 12.7 多态
    • 13 文件操作
      • 13.1 文本文件
      • 13.2 二进制文件
  • 第三章 提高编程
    • 14 模板
      • 14.1 模板的概念
      • 14.2 函数模板
      • 14.3 类模板
    • 15 STL初识
      • 15.1 STL的诞生
      • 15.2 STL基本概念
      • 15.3 STL六大组件
      • 15.4 STL中容器、算法、迭代器
      • 15.5 容器算法迭代器初识
    • 16 STL常用容器
      • 16.1 string容器
      • 16.2 vector容器
      • 16.3 deque容器
      • 16.4 评委打分案例
      • 16.5 stack容器
      • 16.6 queue容器
      • 16.7 list容器
      • 16.8 set/multiset容器
      • 16.9 map/multimap容器
      • 16.10 员工分组案例
    • 17 STL函数对象
      • 17.1 函数对象
      • 17.2 谓词
      • 17.3 内建函数对象
    • 18 STL常用算法
      • 18.1 常用遍历算法
      • 18.2 常用查找算法
      • 18.3 常用排序算法
      • 18.4 常用拷贝和替换算法
      • 18.5 常用集合算法
      • 18.6 常用算法生成算法
由 GitBook 提供支持
在本页
  • 1.stack 基本概念
  • 2.stack 常用接口

这有帮助吗?

  1. 第三章 提高编程
  2. 16 STL常用容器

16.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

上一页16.4 评委打分案例下一页16.6 queue容器

最后更新于4年前

这有帮助吗?