STL容器
标签:c++
容器的成员函数
所有容器都有的
int size()
、bool empty()
顺序容器和关联容器
begin()
、end()
、rbegin()
、rend()
、erase()
、clear()
顺序容器(vector
/string
/list
/deque
)
front()
、back()
、push_back()
、pop_back()
、insert()
容器
vector
构造函数
vector()
无参构造函数
vector(int n)
初始化有n个元素
vector(int n, const T &val)
初始化为n个val
vector(iterator first, iterator last)
初始化为区间([first, last))的内容
操作
clear()
/empty()
/pop_back()
/push_back()
/size()
front()
/back()
insert()
insert(iterator i, const T &val)
insert(iterator i, iterator first, iterator last)
erase()
erase(iterator i)
erase(iterator first, iterator last)
set
/multiset
iterator find(const T &val)
iterator insert(const T &val)
iterator insert(iterator first, iterator last)
int count(const T &val)
iterator lower_bound(const T &val)
查找最大的位置it,使得([begin(), it))中的元素都比val小
iterator upper_bound(const T &val)
查找最小的位置it,使得([it, end()))中的元素都比val大
erase()
erase(iterator i)
erase(iterator first, iterator last)
int erase(const T &val)
返回删除的个数(multiset
)
map
/multimap
multimap
可以用作学生成绩排序
string
构造函数
string s1()
空
string s2("Hello")
Hello
string s3(4, 'K')
KKKK
string s4("12345", 1, 3)
234,子串(n, m)表示从n开始数m个
赋值
可以用char *
类型的常量、变量,char
类型的常量、变量, string
对string
赋值
求子串
string substr(int n = 0, int m = string :: npos)const
当m默认或者超过字符串的长度,则求从n开始到结尾的子串
查找子串和字符
查不到时返回string :: npos
find()
从前往后查找字符或者子串出现的位置rfind()
从后往前查找字符或者子串出现的位置find_first_of()
find_last_of()
find_first_not_of()
find_last_not_of()
替换子串
replace()
删除子串
erase()
插入
insert()