**
数组 :#include“vector”
**
vector<类型> v();
v.begin(); 返回数组第一个元素;()<空>
v.end();回到数组最后;()<空>
v.insert();添加元素;(位置,元素);
v.erase();删除元素;(位置)/(起点,终点);
**
向量 :#include“algorithm”
**
v.reverse();反向排列;(起点,终点);
v.sort();排序;(起点,终点);
v.size();返回向量大小;()<空>
v.empty();判断是否为空数组;()<空>
字符串:#include“string”
-
string s ;//创建空字符串s ,s长度为0;
赋值:1.s=“hollow,c++STL”;
2.Char ss; scanf(“%s”,ss); s=ss; -
添加:
1.s=s+‘c’;//在字符串s后加上字符c;
2.append();在末尾添加字符串;(“所加字符串”) -
插入:(两步)
1.定义迭代器: 类型::iterator 名称;
2.s.insert();插入字符;(迭代器位置,‘所加字符’) -
访问:(注意)
1.下标从0开始计数;
2.相同字符相减结果为0; -
删除:
1.清空:赋值一个新的空字符串;
2.s.erase();删除元素;(位置)/(起点,终点); 长度:
1.l=s.length();返回字符串长度;()<空>
2.s.empty();判断是否为空字符串;()<空> 替换:s.replace(); -
替换;(位置,个数,“新元素”); 查找:find();返回下标; (char,‘字符/子串’)
1.返回第一次出现的下标;
2.返回4294967295(没有该元素/子串); 比较:s.compare();比较字符大小;(要比较的字符串); 原来的大还回‘1’,原来的小返回‘-1’,相等返回‘0’;
头文件 :#include
反向排序:s.reverse();使一段区间内的字符翻转;
字符数组:vector v; 相当于二维数组;
- 输出:1. printf(s.c_str());
2.printf(“%s”,s);
3.cout<<s; - 分离:sscanf(“字符串”,%s %s,s,ss); 字符串用空格隔开;
分离数字时用‘,’或‘¥’隔开;
集合容器:#include
-
建立:set s; 同样为int的子集;
-
特点:set数组可以自己排序,里面的数据是从小到大排列的;
-
插入:s.insert();添加元素;(位置,元素);并且自动排序;
-
遍历:(使用迭代器)
1.中序遍历for(i=s.begin();i!=s.end();i++)
Cout<<*it<<” “;
2.后序遍历for(i=s.rbegin();i!=s.rend();i++)
Cout<<*it<<” “; -
删除:s.erase();同上;
映照容器:#include
- 创建:map<键值类型,数据类型> name;
- 赋值:name[键值]=数据;
- 删除:m.erase(键值);
- 清空:m.clear();清空m;
- 搜索:m.find(键值);搜到返回键值,否返回m.end();
- 大小:m.size(); 返回map中元素的个数
- 输出:(使用迭代器时)(*i).first(键值);(*i).second(数据);
多重映照:#include
- 创建:multimap<键值类型,数据类型> name;
- 插入:m.insert(pair<键值类型,数据类型>(键值,数值));
- 删除:同上:
- 查找:同上: