C++ STL摘记
一、string类补充
1.函数示例:
(1)find和rfind函数,返回的是下标或者string::npos
index=ss.find(s1,pos,num)
find从pos(包括)开始往右查找(num的作用待补充)
index=ss.rfind(s1,poss,num)
rfind从pos(包括)开始往左查找(num的作用待补充)
代码示例:
//>>>>Qiansui
#include<iostream>
#include<algorithm>
#include<cmath>
#define ll long long using namespace std;
const int maxm=1e4+5;
string ss[3]{"123asd123","a123gh123","ea123s123"},s1="123"; int main(){
int index;
cout<<"find\n";
for(int i=0;i<3;++i){
index=ss[i].find(s1);
if(index!=string::npos) cout<<index<<endl;
else cout<<"Error\n";
}
cout<<"rfind\n";
for(int i=0;i<3;++i){
index=ss[i].rfind(s1,6);
if(index!=string::npos) cout<<index<<endl;
else cout<<"Error\n";
}
cout<<string::npos;
return 0;
}
运行结果:

(2)遍历
代码示例:
#include<iostream>
#include <string>
using namespace std;
int main(){
string s1{"world"};
for(int i=0;i<s1.size(); ++i)
cout<<s1[i]<<endl;
for(auto c : s1)
cout<<c<<endl;
return 0;
}
运行结果:

二、STL函数
头文件:#include<algorithm>
1.reverse函数 https://en.cppreference.com/w/cpp/algorithm/reverse
可以翻转数组、字符串、容器等
reverse函数用于反转在[first,last)范围内的顺序[first,last)(左闭右开),reverse函数没有返回值
例题:
https://atcoder.jp/contests/abc284/tasks/abc284_a?lang=en 简单的翻转vector<string>
C++ STL摘记的更多相关文章
- 详细解说 STL 排序(Sort)
0 前言: STL,为什么你必须掌握 对于程序员来说,数据结构是必修的一门课.从查找到排序,从链表到二叉树,几乎所有的算法和原理都需要理解,理解不了也要死记硬背下来.幸运的是这些理论都已经比较成熟,算 ...
- STL标准模板库(简介)
标准模板库(STL,Standard Template Library)是C++标准库的重要组成部分,包含了诸多在计算机科学领域里所常见的基本数据结构和基本算法,为广大C++程序员提供了一个可扩展的应 ...
- STL的std::find和std::find_if
std::find是用来查找容器元素算法,但是它只能查找容器元素为基本数据类型,如果想要查找类类型,应该使用find_if. 小例子: #include "stdafx.h" #i ...
- STL: unordered_map 自定义键值使用
使用Windows下 RECT 类型做unordered_map 键值 1. Hash 函数 计算自定义类型的hash值. struct hash_RECT { size_t operator()(c ...
- C++ STL简述
前言 最近要找工作,免不得要有一番笔试,今年好像突然就都流行在线笔试了,真是搞的我一塌糊涂.有的公司呢,不支持Python,Java我也不会,C有些数据结构又有些复杂,所以是时候把STL再看一遍了-不 ...
- codevs 1285 二叉查找树STL基本用法
C++STL库的set就是一个二叉查找树,并且支持结构体. 在写结构体式的二叉查找树时,需要在结构体里面定义操作符 < ,因为需要比较. set经常会用到迭代器,这里说明一下迭代器:可以类似的把 ...
- STL bind1st bind2nd详解
STL bind1st bind2nd详解 先不要被吓到,其实这两个配接器很简单.首先,他们都在头文件<functional>中定义.其次,bind就是绑定的意思,而1st就代表fir ...
- STL sort 函数实现详解
作者:fengcc 原创作品 转载请注明出处 前几天阿里电话一面,被问到STL中sort函数的实现.以前没有仔细探究过,听人说是快速排序,于是回答说用快速排序实现的,但听电话另一端面试官的声音,感觉不 ...
- STL的使用
Vector:不定长数组 Vector是C++里的不定长数组,相比传统数组vector主要更灵活,便于节省空间,邻接表的实现等.而且它在STL中时间效率也很高效:几乎与数组不相上下. #include ...
- [C/C++] C/C++延伸学习系列之STL及Boost库概述
想要彻底搞懂C++是很难的,或许是不太现实的.但是不积硅步,无以至千里,所以抽时间来坚持学习一点,总结一点,多多锻炼几次,相信总有一天我们会变得"了解"C++. 1. C++标准库 ...
随机推荐
- JZOJ 4744.同余
\(\text{Problem}\) \(\text{Solution}\) 考虑 \(60\) 分 设 \(f_{i,j,k}\) 表示前 \(i\) 个数,模 \(j\) 同余 \(k\) 的个数 ...
- c语言以及高级语言中的float到底是什么以及IEEE754
对内存里float4字节的好奇 初学计算机都要学那个什么二进制十进制什么补码 反码那些玩意儿哈,由于最近要做一个单片机往另外一个单片机发数据的需求,直接c语言指针 然后float4字节传过去不就得了吗 ...
- GetShell 之:利用 SQLServer GetShell
GetShell 之:利用 SQLServer GetShell 目录 GetShell 之:利用 SQLServer GetShell 1 SQLServer 基础操作 2 SQLServer 利用 ...
- CSS:linear-gradient()背景颜色渐变
css语法 background: linear-gradient(direction,color-stop1,color-stop2,...); direction:用角度值指定渐变的方向(或角度) ...
- 把MyBatis当项目一样,讲透源码的技术书籍!
作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 为啥?因为这些年,就很少有人能自主意识到,如何提升编码质量! 但讲屁话没有用,想学好编程突破阶 ...
- pat乙级 1018 锤子 剪刀 布
#include<stdio.h> #include<stdlib.h> #include<string.h> #include<math.h> int ...
- mysql-8版本优化建议
mysql-8版本优化 参考官方文档:https://dev.mysql.com/doc/refman/8.0/en/
- Truenas core 13连接LDAP,获取AD域用户及自动分配权限---chatGPT回复,未做证实
要在TrueNAS Core 13上连接LDAP并从AD域中获取用户,请按照以下步骤操作: 在TrueNAS Core 13上登录到WebUI. 转到"网络"菜单并选择" ...
- 40.Ribbon和Feign
优先级:全局代码 < 全局属性 < 细粒度代码 < 细粒度属性 推荐属性配置
- N63050 第十五周运维作业
第二十九天: 网络文件共享服务 1基于DB数据库文件实现FTP的虚拟用户 2基于MySQL数据库文件实现FTP的虚拟用户 3NFS服务的工作原理 4NFS共享服务实现详解 5实现NFS共享存储的LAM ...