💻
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. 第三章 提高编程
  2. 15 STL初识

15.4 STL中容器、算法、迭代器

容器:置物之所也

STL容器就是将运用最广泛的一些数据结构实现出来

常用的数据结构:数组, 链表,树, 栈, 队列, 集合, 映射表 等

这些容器分为序列式容器和关联式容器两种:

​ 序列式容器:强调值的排序,序列式容器中的每个元素均有固定的位置。 关联式容器:二叉树结构,各元素之间没有严格的物理上的顺序关系

算法:问题之解法也

有限的步骤,解决逻辑或数学上的问题,这一门学科我们叫做算法(Algorithms)

算法分为:质变算法和非质变算法。

质变算法:是指运算过程中会更改区间内的元素的内容。例如拷贝,替换,删除等等

非质变算法:是指运算过程中不会更改区间内的元素内容,例如查找、计数、遍历、寻找极值等等

迭代器:容器和算法之间粘合剂

提供一种方法,使之能够依序寻访某个容器所含的各个元素,而又无需暴露该容器的内部表示方式。

每个容器都有自己专属的迭代器

迭代器使用非常类似于指针,初学阶段我们可以先理解迭代器为指针

迭代器种类:

种类

功能

支持运算

输入迭代器

对数据的只读访问

只读,支持++、==、!=

输出迭代器

对数据的只写访问

只写,支持++

前向迭代器

读写操作,并能向前推进迭代器

读写,支持++、==、!=

双向迭代器

读写操作,并能向前和向后操作

读写,支持++、–,

随机访问迭代器

读写操作,可以以跳跃的方式访问任意数据,功能最强的迭代器

读写,支持++、–、[n]、-n、<、<=、>、>=

常用的容器中迭代器种类为双向迭代器,和随机访问迭代器

上一页15.3 STL六大组件下一页15.5 容器算法迭代器初识

最后更新于4年前

这有帮助吗?