关于vector
它可以理解为一个可变数组,长短可变。string与vector支持迭代器+a,访问
关于set(红黑树实现排序)
特点:自动去重+递增排序
关于string
(1)直接相加减
(2)直接用==,>,<比较,规则:字典序
(3)length
(4)insert(pos,string) ,pos的范围(0,length-1)
string str="xyzw"
str.insert(2,"abc"); //在str[2]中插入abc
结果
xyabczw
(5)find()
str1.find(str2)
//当str2是str1的子串时,返回其在str1第一次出现的位置;不在则返回string::npos(-1)
str1.find(str2,4);
//从str1的4号位置(最小为0),开始匹配str2,返回值与上面相同
(6)replace()
str1.replace(3,5,str2)
//把str1中3号位起,长度为5 的用str2 来替换
str1.replace(it1,it2,str2)
//把str的迭代器[it1,it2)范围的子串用str2代替
关于map(红黑树实现排序)
1.map可以作为键值映射,map<t1,t2>,ti,t2可以是任何类型
map<char,int> mp1;
map<string,int> mp2;
2.map会以键从小到大排序,因为内部是以红黑树实现的(set也是),建立映射过程自动实现排序功能
3.map常见用途
- 需要建立字符串与整数之间映射的题目
- 判断大整数或者其他类型数据是否存在的题目,将map当bool用数组用
- 字符串与字符串之间可能用到
- 延伸:若一个键对应多种值,只能用multimap