内容非常不完整,以实用为主。将持续更新。
不定长数组 vector
- 示例定义
vector <int> ve, ve2;
- 示例操作
ve.push_back(<int>);
:向 ve 末尾插入一个新元素;
ve.pop_back();
:删除 ve 末尾的元素;
ve.insert( it, <int>);
:向迭代器 it 前插入一个新元素;
ve.insert( it, 3, <int>);
:向迭代器 it 前插入三个相同的新元素;
ve.insert( it, ve2.begin(), ve2.end());
:将 ve2.begin() 和 ve2.end() 之间的元素全部插入到迭代器 it 前;
ve.back();
:返回 ve 末尾的元素;
ve.size();
:返回 ve 中元素的个数;
ve.empty();
:判断向量是否为空;
ve.clear();
:清空向量中的元素;
- 遍历
vector <int>::iterator it;
:迭代器;
ve.begin();
: ve 的首部;
ve.end();
: ve 的尾部(最后一个元素的后一位);
- 查找
使用 <algorithm> 中的函数:
find(ve.begin(), ve.end(), <int>);
返回一个迭代器。
映射 map
map 中不会有重复的关键字,且所有关键字自动从小到大排好。
- 示例定义
map <string, int> ma;
- 示例操作
ma[<string>] = <int>;
:添加新的映射,若存在,则覆盖;
<int> = ma[<string>];
:读取映射的值;
ma.count(<string>);
:查询是否存在该映射,返回 true 或 false;
ma.find(<string>);
:查询该映射的位置,返回迭代器;
ma.size();
:返回 ma 中已有映射的个数;
- 遍历
map <string, int>::iterator it;
:迭代器;
ma.begin();
: ve 的首部,返回一个 pair 型;
ma.end();
: ve 的尾部(最后一个元素的后一位),返回一个 pair 型;
it -> first;
: it 所指向的映射的第一部分(关键字),在这里即 string 型的部分;
it -> second;
: it 所指向的映射的第二部分(存储的数据),在这里即 int 型的部分;
集合 set
set 中不会有重复的元素,且所有元素自动从小到大排好。
- 示例定义
set <int> se;
- 示例操作
se.insert(<int>);
:插入一个元素;
- 遍历
set <int>::iterator it;
:迭代器;
se.begin();
: se 的首部;
se.end();
: se 的尾部(最后一个元素的后一位);
队列 queue
- 示例定义
queue <int> qu;
- 示例操作
qu.push(<int>);
:入队;
qu.pop(<int>);
:出队(删除队首的元素);
qu.front();
:取队首的元素;