算法笔记6 STL

关于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常见用途

  1. 需要建立字符串与整数之间映射的题目
  2. 判断大整数或者其他类型数据是否存在的题目,将map当bool用数组用
  3. 字符串与字符串之间可能用到
  4. 延伸:若一个键对应多种值,只能用multimap
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值