C++ 使用分享
1.vector
也称为单端数组,不同之处在于数组是静态空间,而vector可以动态扩展
1 | 1.push_back(ele); 向尾部插入值 |
相当于二维数组用法,容器嵌套
1 |
|
2.string
创建
1 | 1.string();//创建一个空的字符串,例如:string str; |
字符串替换(估值一亿的AI核心代码)
1 | //字符串替换:在指定位置替换字符串 replace在替换时,需要指定从哪个位置起,多少个字符,替换成什么 |
字符串截取
1 | //!!!!!!!!!!!!!!!!string子串,截取字符串 |
3.queue
普通队列,先进先出的数据结构,有两个出口(入队、出队)
1 | push(); |
4.stack
1 | top(); |
5.map
pair对组
成对出现的数据,利用对组可以返回两个数据
1 | void test(){ |
键值对map
1.map中所有元素都是pair
2.pair中第一个元素是key(键值),起到索引作用,第二个元素是value(实值)
3.所有元素会根据元素的键值自动排序
1 | insert(); |
6.set
所有元素都会在插入时自动被排序,不允许容器中有重复元素
1 | insert(); |
7.deque
==双端数组,可对头端进行插入删除操作==
插入删除操作基本同vector,但由于deque是双端的,所以有push_front(elem)在容器头部插入一个数据 pop_front();删除容器第一个数据
数据存取,获取元素方式同vector
deque排序(利用算法实现)
sort(开始位置,结束位置)默认排序规则是升序
8.list
将数据进行链式存储
1 | 1.empty()是否为空 |
二、常用函数
1.反转
1 | //reverse函数用于反转在[first,last)范围内的顺序(包括first指向的元素,不包括last指向的元素),reverse函数无返回值 |
2.重置
1 | //头文件是cstring或者memory.h |
3.排序
1 | sort(vec.begin(),vec.end(),greater<int>());//内置类型从大到小 |
4.查找
1 | 查找指定元素,找到返回指定元素的迭代器 |
三、字符串与数字的相互转换
1.字符串转数字
1 | //常用的是stoi |
2.数字转字符串
1 | //a = 1234 |
四、不常用但又用的函数和容器
列车调度
1 | lower_bound与upper_bound |
堆——神奇的优先队列
1 | priority_queue:优先队列,相当于堆 |