C++ STL 学习笔记

1、Map和Multimap

 Map和multimap将key/value pair(键值/实值 队组)当作元素,进行管理。他们根据key的排序准则将元素排序。multimap允许重复元素,map不允许。

元素要求:

  • key/value必须具有assigned(可赋值)和copyable(可复制的)性质。
  • 对于排序而言,key必须具是comparable(可比较的)。

2、使用append在string后添加n个相同的字符

string a="abcd"

a.append(6, 'e')   //a="abcdeeeeee",在a后面添加6个‘e’

3、使用count统计vector中某个元素的个数

vector<int> tmp={1,2,3,4,5,2,2};
int num=count(tmp.begin(),tmp.end(),2);  //num等于3

int num=count(tmp.begin(),tmp.end(),9);  //num等于0

4、使用find确认vector中是否存在某元素

vector<int> a={1,2,3,4,5,6};
auto val=find(a.begin(),a.end(),27);   //27不存在,val==a.end()

auto val=find(a.begin(),a.end(),5);    //5在容器a中,*val==5

5、使用erase删除指定位置的元素

    X.erase(X.begin()+index)

6、next_permutation 可以获得字符串的下一个全排列

vector<string> ret;
ret.emplace_back(str);
while (next_permutation(str.begin(), str.end()))
{
    ret.emplace_back(str);
}

7、vecotr.data()

  std::vector<int> myvector (5);

  int* p = myvector.data()

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值