分类: C++ - STEMHA's Blog

map常用操作

基本概念

map

  • map不能直接修改关键字,只能通过修改关键字的值间接修改关键字。
  • 底层数据结构为红黑树,有序,不重复
  • map<K,T> 类模板定义在 map 文件头中,它定义了一个保存 T 类型对象的 map,每个 T 类型的对象都有一个关联的 K 类型的键。容器内对象的位置是通过比较键决定的。

pair常用操作

基本概念

pair

  • pair 是一个比较简单的模板类型,它只有两个 public 数据成员 first 和 second。
  • pair 对象可以封装任意类型的对象,可以生成任何想生成的 pair<T1,T2> 对象,可以是数组对象或者包含 pair<T1,T2> 的 vector 容器。例如,pair 可以封装两个序列容器或两个序列容器的指针。pair<T1,T2> 模板定义在 utility 头文件中,如果不想使用 map 而只想使用 pair 对象,可以包含这个头文件。

头文件

1
2
3
# include<utility>
或者
# include<map>

set常用操作

基本概念

set是一个关联容器类型,用于以升序方式存储唯一值。

  • 属于关联容器(关联容器通过键(key)存储和读取元素,而顺序容器则通过元素在容器中的位置顺序存储和访问元素。)

priority_queue常用操作

概念

priority_queue容器适配器定义了一个元素有序排列的队列。

  • 默认队列头部的元素优先级最高。
    • 因为它是一个队列,所以只能访问第一个元素,这也意味着优先级最高的元素总是第一个被处理。
  • 如何定义“优先级”完全取决于我们自己。

queue常用操作

queue初始化方法

1
queue<int>q;

stack常用操作

stack初始化方法

1
2
3
std::stack<int> q;
std::stack<int> second(first);
std::stack<int, std;:vector<int>> third; 使用vector初始化stack

vector常用操作

vector初始化方法

1
2
3
vector<int> vec;       初始化size为0vector
vector<int> vec(10); 初始化size为10,默认值都为0vector
vector<int> vec(10,1); 初始化size为10,值都为1vector

C++标准库容器类概述

基础概念

容器(container)

  • 容纳特定类型对象的集合。
  • C++中所有的容器都是类模板。
  • 所有容器类型都定义了默认构造函数,用于创建指定类型的空容器对象。容器默认构造函数不带参数。
  • 为了使程序更清晰、简短,容器类型最常用的构造函数是默认构造函数。在大多数的程序中,使用默认构造函数能达到最佳运行时性能,并且使容器更容易使用。

C++特性及优缺点

C++语言优缺点

C++内存分配与内存划分

C/C++内存使用划分

C/C++编译过的程序使用的内存划分:

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×