STL学习(STL实乃骚猪)

本文介绍了C++STL容器中set和multiset的使用,包括去重、删除元素以及检测元素存在性的方法。同时,详细阐述了vector的基本操作,如安全地添加元素、删除元素以及清空容器。此外,还提到了string的插入和截取功能,展示了STL的便捷性。
摘要由CSDN通过智能技术生成

1. set的使用:(可用在bfs和dfs中,用来去重)

当想要删除指定数组(int double)元素时

(1) 若数字序列是无重复的,则用set;

set<int a>;

a.erase(x); //x是想要删除的元素

(2)若数字序列是重复的,则用multiset;

multiset<int a>; //a里有多个值为x的元素

a.erase(x); //x是想要删除的元素,会将全部值为x的元素全部删除

set介绍:会自动排序,且无重复元素,可用于set<string> ,set<int>;

(3)

a.count(x) 返回值为0或1,检测a所存储的序列中是否存在值为x的元素

a.find(x) 若不存在值为x的元素,则为a.end();

用法:if(a.find(x)!=a.end()) cout << "存在值为" << x << "的元素" << endl;

           else cout <<  "不存在值为" << x << "的元素" << endl;

(4)

set插入元素时,用函数 insert()     eg:a.insert(2)

(5)迭代使用迭代器:

for(set<int>::iterator iter=a.begin();iter!=a.end();iter++) cout << *iter << ' ' ;

2.vector (向量)

vectror<int> a;

(1)**********重要:当还不存在a[i]时,不能使用a[i] ;

eg:for(int i=0;i<10;i++) a[i]=i;///错误!!!!!!!

赋值:

for(int i=0;i<10;i++) a.push_back(i); //用push_back()函数

(2)删除最后一个元素,用函数pop_back(); eg: a.pop_back()

(3)删除指定位置元素,用erase()   注意:**********第0个,第1个,第2个

eg:删除第3个位置的元素  a.erase(a.begin()+3);

(4)清空容器内所有元素 用a.clear();

(5)获取大小:a.size();

3.string  (STL真乃骚猪)

string a;

(1)在尾部插入时,就记一个 += 运算符,真滴骚

char b; string c;

a+=n; a+=c; //都可以得到想要的效果

(2)在指定位置插入******单个字符      **********第0个,第1个,第2个

a.insert(a.begin()+x,b); //b是字符,插在第x个位置上,原有的第x位置元素向后移一位。

(3)截取字符串 用substr

a="jiujingxiaoduye";

string b=a.substr(5) ;//从第五个字符开始,到最后的字符全部赋值给b    b="ngxiaoduye"

string c=a.substr(5,3)  //从第五个字符开始,连数三个字符形成字符串赋值给b     c="ngx

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值