1.vector
- 包含头文件
#include<vector>
- 使用命名域
using namespace std
- 定义元素类型为T的vector
vector<T> vec
- 增:向vector中添加元素a,使用成员函数
vec.push_back(a)
,元素a被加到向量末尾 - 删:
vec.pop_back()
删除最后一个元素 - 取:
vec[i]
可以取第i个元素,下标从0开始;取第一个元素vec.begin()
;vec.end()
是取最后一个的下一个 - 下图为成员函数
![1249576-20180327161208156-1585367780.png](https://i-blog.csdnimg.cn/blog_migrate/9e0afcfb0ffbdda6458649beac4f5ec5.png)
2.string
- 包含头文件
#include<string>
- 使用命名域
using namespace std
- 获取字符串长度:
str.length()
- 查找:
str.find(a,k)
a可以是字符也可以是字符串,k为int。返回从k开始,a首次匹配str中的位置,无匹配则返回-1,k若缺省则从0开始。 - 字符串倒置:
reverse(str.begin(), str.end())
- 截取子串:
str1 = substr(pos,n)
返回str中起始位置为pos,长度为n的字符串,n若缺省则到结尾 - 追加字符串:可以用
str.append(str1)
或者str+=str1
这个重载运算符来实现向str的末尾追加str1 - 比较字符串:
str.compare(str1)
相等返回0,str大于str1返回1,否则返回-1。也可以直接用>
,<
,=
3.stack
- 包含头文件
#include<stack>
- 使用命名域
using namespace std
- 定义元素为T类型的vector
stack<T> sta
- 成员函数表如下图
![1249576-20180327163210645-1903249406.png](https://i-blog.csdnimg.cn/blog_migrate/27339e5fb98c3a414ab420d4843d796a.png)
5.queue
- 定义一个queue的变量
queue<Type> M
- 查看是否为空范例
M.empty()
是的话返回1,不是返回0; - 从已有元素后面增加元素
M.push()
- 输出现有元素的个数
M.size()
- 显示第一个元素
M.front()
- 显示最后一个元素
M.back()
- 清除第一个元素
M.pop()
6.map
- 包含头文件
#include<map>
- 使用命名域
using namespace std
- map中的元素是一个pair,定义键为T1类型,值为T2类型的map
map<T1, T2> m
- 增:插入数据有以下四种方法
//以下例子中m为map<String,int>类型
m["a"] = 1;
m.insert(map<string, int>::value_type("a",1));
m.insert(pair<string,int>("c",3));
m.insert(make_pair("d",4));
int i = m["a"]; //取到键值"a"对应的值
map<int, string>::iterator iter;
iter = m.find("a"); // 返回数据所在位置的迭代器,如果map中没有要查找的数据,则返回的迭代器等于end函数返回的迭代器
int i = iter->second; //用迭代器取到对应的值
iter->second=j; //修改迭代器对应的值