ACM算法训练笔记:C/C++库函数与字符串操作
需积分: 14 185 浏览量
更新于2024-09-08
收藏 27KB DOCX 举报
"这篇资源是关于ACM程序竞赛算法的个人笔记,主要使用C/C++语言,涵盖了库函数的应用和ACM竞赛中常用的算法。笔记内容包括字符串操作、字符串复制、字符串构造、字符串赋值以及字符串操作函数如`swap()`、增加字符、插入字符等。"
在ACM算法训练中,字符串操作是非常关键的一部分,因为许多问题涉及到文本处理和数据解析。这篇笔记首先介绍了如何创建和操作字符串。例如,`string str1 = "yesterdayoncemore"` 是创建一个字符串对象,而`string str3(str1, 6)`则是通过已有字符串创建新的子串,结果为"dayoncemore"。`str4(str1, 6, 3)`则截取从索引6开始的3个字符,得到"day"。
`string str5=ch_music`和`string str6(ch_music)`展示了从字符数组创建字符串的方法,而`str7(ch_music, 4)`截取了字符数组的一部分。`string str8(10, 'i')`创建了一个由10个'i'组成的字符串。`str9(ch_music+5, ch_music+9)`则截取了字符数组的一部分。
笔记还讨论了`assign()`函数的用法,例如`str3.assign(str2, 3, 6)`将字符串`str2`从第3个字符开始的6个字符赋值给`str3`,结果为"heart"。`str4.assign(str2, 3, string::npos)`从`str2`的第3个字符开始到末尾赋值给`str4`,即"heartgoon"。`str4.assign("gaint")`和`str4.assign(5, 'x')`分别用于重新赋值和填充特定数量的字符。
`swap()`函数的使用展示了字符串对象间内容的交换,例如`str2.swap(str1)`之后,`str1`和`str2`的内容互换。
接着,笔记提到了增加字符到字符串尾部的各种方法,如`+=`运算符、`append()`函数和`push_back()`函数。例如,`s.append(5, 'x')`会在`s`的末尾添加5个'x'字符,而`s.push_back('a')`仅能添加单个字符。
最后,`insert()`函数的介绍说明了如何在字符串中插入字符或子串,通常需要指定插入位置和要插入的内容。这些操作对于解决ACM竞赛中的问题,如字符串匹配、文本处理等都是至关重要的基础技能。
2021-05-12 上传
2022-09-19 上传
2021-04-02 上传
2021-04-30 上传
2009-09-14 上传
2021-10-12 上传
皮蛋咸鱼白菜粥
- 粉丝: 3
- 资源: 2
最新资源
- 前端协作项目:发布猜图游戏功能与待修复事项
- Spring框架REST服务开发实践指南
- ALU课设实现基础与高级运算功能
- 深入了解STK:C++音频信号处理综合工具套件
- 华中科技大学电信学院软件无线电实验资料汇总
- CGSN数据解析与集成验证工具集:Python和Shell脚本
- Java实现的远程视频会议系统开发教程
- Change-OEM: 用Java修改Windows OEM信息与Logo
- cmnd:文本到远程API的桥接平台开发
- 解决BIOS刷写错误28:PRR.exe的应用与效果
- 深度学习对抗攻击库:adversarial_robustness_toolbox 1.10.0
- Win7系统CP2102驱动下载与安装指南
- 深入理解Java中的函数式编程技巧
- GY-906 MLX90614ESF传感器模块温度采集应用资料
- Adversarial Robustness Toolbox 1.15.1 工具包安装教程
- GNU Radio的供应商中立SDR开发包:gr-sdr介绍