string库函数

  1. length() 或 size(): 返回字符串的长度。
  2. empty(): 检查字符串是否为空。
  3. clear(): 清空字符串内容。
  4. assign(str): 将字符串内容设置为 str。
  5. append(str) 或 operator+=: 将字符串 str 连接到当前字符串的末尾。
  6. insert(pos, str): 在指定位置 pos 插入字符串 str。
  7. erase(pos, len): 从指定位置 pos 开始擦除长度为 len 的字符。
  8. replace(pos, len, str): 用字符串 str 替换从 pos 位置开始的长度为 len 的字符。
  9. substr(pos, len): 返回从 pos 位置开始的长度为 len 的子字符串。
  10. find(str, pos): 在字符串中查找子字符串 str,从位置 pos 开始,返回第一个匹配的位置。
  11. rfind(str, pos): 在字符串中反向查找子字符串 str,从位置 pos 开始,返回最后一个匹配的位置。
  12. compare(str): 比较当前字符串与 str,返回 0 表示相等,正数表示大于,负数表示小于。
  13. c_str(): 返回一个指向以 null 结尾的 C 风格字符串的指针

  1. 添加元素:

    • push_back(element): 将元素添加到末尾。
    • emplace_back(args): 在末尾直接构造元素。
    • insert(pos, element): 在指定位置插入元素。
  2. 访问元素:

    • at(index): 返回指定索引处的元素。
    • operator[] (index): 使用索引访问元素。
    • front(): 返回第一个元素。
    • back(): 返回最后一个元素。
  3. 删除元素:

    • pop_back(): 删除最后一个元素。
    • erase(pos): 删除指定位置的元素。
    • clear(): 清空容器中的所有元素。
  4. 容量和大小:

    • size(): 返回容器中元素的个数。
    • capacity(): 返回容器当前的容量。
    • reserve(n): 分配至少n个元素的存储空间。
  5. 迭代器:

    • begin(): 返回指向容器第一个元素的迭代器。
    • end(): 返回指向容器末尾(下一个元素的位置)的迭代器。
  6. 其他:

    • empty(): 检查容器是否为空。
    • swap(other): 交换两个vector的内容。
    • resize(size): 改变vector的大小。
    • shrink_to_fit(): 请求释放多余的容量。

  1. vector:动态数组
  2. list:双向链表
  3. deque:双端队列
  4. set:集合
  5. map:映射
  6. multiset:多重集合
  7. multimap:多重映射
  8. stack:栈 
  9. queue:队列
  10. priority_queue:优先队列

算法函数:

  1. sort:对容器进行排序
  2. find:在容器中查找指定元素
  3. reverse:反转容器中的元素
  4. count:计算容器中指定元素的个数
  5. accumulate:计算容器中元素的累积和
  6. max_element:查找容器中的最大元素
  7. min_element:查找容器中的最小元素
  8. transform:对容器中的元素进行变换
  9. fill:用指定值填充容器
  10. erase:删除容器中的元素

迭代器:

  1. begin:返回容器的起始迭代器
  2. end:返回容器的结束迭代器
  3. advance:在迭代器上前进指定步数
  4. distance:计算两个迭代器之间的距离

  1. strlen:用于计算字符串的长度。
  2. strcpy:用于将一个字符串复制到另一个字符串。
  3. strcat:用于将一个字符串追加到另一个字符串的末尾。
  4. strcmp:用于比较两个字符串。
  5. strchr:用于在字符串中查找特定字符的第一次出现。
  6. strstr:用于在字符串中查找特定子字符串的第一次出现。
  7. memset:用于将指定的值设置到字符串的每个字符。
  8. memcpy:用于将一个字符串的内容复制到另一个字符串。
  9. strtok:用于将字符串分解为标记(token)。

  1. STL(标准模板库):STL 包括许多容器(如vector、map、set)、算法(如sort、search)、迭代器等,是C++标准库的一部分,为竞赛编程提供了丰富的数据结构和算法支持。

  2. IOStreams:C++标准库的输入输出流,包括iostream、fstream、stringstream等,用于处理标准输入输出和文件操作。

  3. C++标准模板库(STL)的其他组件:除了容器和算法,STL还包括诸如队列、堆栈、优先队列等数据结构,以及各种迭代器和算法,这些都可以在竞赛中派上用场。

  4. cmath:这是C++标准库中的数学库,包括各种数学函数,如sin、cos、sqrt等。

  5. cstring:用于处理字符串和字符数组的库,包括函数如strlen、strcpy、strcat等。

  6. vector:这是STL中的一个动态数组,用于存储一系列元素,通常在竞赛中作为主要的数据结构之一。

  7. algorithm:STL中的algorithm头文件提供了各种常见算法,如排序、查找、交换等,可以大大简化编程任务。

  8. queue和stack:STL中的队列和栈可以用于实现各种数据结构,如广度优先搜索(BFS)和深度优先搜索(DFS)。

  9. unordered_map和unordered_set:这些容器提供了快速的查找和插入操作,适用于处理大量数据。

  10. bitset:用于位运算的库,通常在一些位操作相关的问题中使用。

  11. cmath:包含各种数学函数,如三角函数、指数函数、对数函数等,对数学问题很有帮助。

  12. ctime:包含时间处理相关的函数,如clock、time等,有时在竞赛中需要用于性能分析。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值