字符串的常用操作(字符串问题和数组问题)

  1. s.erase() s.clear() 清空字符串
  2. s.erase(i) 删除下标为i及以后的所有字符串
  3. s.erase(i, 1) i开始,删除多少个字符
  4. s.insert(i, "string") i下标以后加上这个字符串
  5. s.insert(i, number, 'c') i下标后加上numberc字符
  6. s.append("string") 在字符串后面加上 "string"
  7. s.substr(0,i) 截取字符串从下标0i的字符串,左闭右开
  8. s.find('c') 查找字符串中字符为‘c’的位置,如果没找到,返回一个超级大的值
  9. to_string(num) 将整数 num 变成字符串类型

unordered_map 和 unordered_set(哈希函数实现)

  1. mp.count() 返回hash表中是否存在该键值key,如果存在返回1,否则返回0
  2. mp.size()
  3. mp.clear() 清空
  4. mp.erase(number) 移除某keynumber的元素
  5. st.insert() 插入
  6. st.size()
  7. st.count()

map 和 set(红黑树实现)

  1. set 可以对加入的元素进行从小到大依次排序
  2. map 可以按照key值的大小顺序进行排序
  3. 简单的遍历操作(unordered_map与之一样)
  4. for(auto it : mp){
  5. cout << it.first << " " << it.second << endl;
  6. }
  7. for(auto& [K, V] : mp){ // 可以直接同时遍历出key和value
  8. cout << K <<" " << V << endl;
  9. }
  10. for(auto it : st){
  11. cout << it << endl;
  12. }
  13. 常用函数:
  14. mp.count() 查询某个key是否存在
  15. st.count() 同理