函数总结"/>
C++的vector set map string 相关函数总结
如果要看详解请看下面连接:
【C++】蓝桥杯必备 算法竞赛常用STL万字总结_Cpt1024的博客-CSDN博客_算法竞赛pdf
【C/C++】STL详解_沉晓的博客-CSDN博客_c++的stl
【用法学习】C++ pair用法及使用sort函数对pair数据进行排序_荷叶田田_的博客-CSDN博客_sort对pair排序
vector (和string差不多,可以互用)
1.排序
设一维容器nums
- sort(nums.begin(), nums.end());
2.添加数据
设二维容器nums,添加元素,相当于添加一维容器,一维数组可以不写别名,直接给元素,或者用vector<int>(a.begin(),a.end())来赋值,a为一维容器
可以不取别名,也可以取,看具体用法
return vector<int>(result_set.begin(), result_set.end());
result.push_back(vector<int>{nums[i],nums[left],nums[right]});
3.删除元素
a.pop_back()
3.反转====reverse
和string表达一样
4.insert
string
1.reverse反转
reverse(s.begin()+i, s.end());//左闭右开
end()是最后一个元素的后一个位置,所以左闭右开,
源代码:双指针
void reverse(string& s, int start, int end){ //翻转,区间写法:左闭又闭 []for (int i = start, j = end; i < j; i++, j--) {swap(s[i], s[j]);}}
2.加空间resize()
s.resize(ordlen + 2 * count);//申请空间
3.前两个和vector相关,后面和队列相关
pop_back()删除
push_back()添加元素
a,back()返回第一个元素
a.front()返回最后一个元素
b = a.substr(i, j) 从i下标截取j个字符赋值给b
a.insert(i, '.') 在i的哪个下标位置插入点,原来的那个数后移
a.erase(i)删除i的那个位置
set
设nums2为一维容器
1.查找数据
如果到了末尾说明没有找到这个数据
nums_set.find(nums2[i]) != nums_set.end()
2.添加数据
result_set.insert(nums2[i]);
map(和set中的函数差不多)
auto val = result.find(target - nums[i]);//查找数据
if ( val != result.end()) {
return {val->second, i};
}
result.insert(pair<int, int>(nums[i], i));一般和pair使用,和之前的vector差不多
相互作用
一般三个(set,map,数组)都可以互相覆盖
vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {unordered_set<int> result_set;unordered_set<int> nums_set(nums1.begin(), nums1.end());
nums_set直接加vector中的数据,其他都能这样使用
字符串和数组差别
这里也给大家拓展一下字符串和数组有什么差别,
字符串是若干字符组成的有限序列,也可以理解为是一个字符数组,但是很多语言对字符串做了特殊的规定,接下来我来说一说C/C++中的字符串。
在C语言中,把一个字符串存入一个数组时,也把结束符 '\0'存入数组,并以此作为该字符串是否结束的标志。
例如这段代码:
char a[5] = "asd";
for (int i = 0; a[i] != '\0'; i++) {
}
在C++中,提供一个string类,string类会提供 size接口,可以用来判断string类字符串是否结束,就不用'\0'来判断是否结束。
例如这段代码:
string a = "asd";
for (int i = 0; i < a.size(); i++) {
}
那么vector< char > 和 string 又有什么区别呢?
其实在基本操作上没有区别,但是 string提供更多的字符串处理的相关接口,例如string 重载了+,而vector却没有。
所以想处理字符串,我们还是会定义一个string类型。
后续持续更新......
更多推荐
C++的vector set map string 相关函数总结
发布评论