一、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摘记的更多相关文章

  1. 详细解说 STL 排序(Sort)

    0 前言: STL,为什么你必须掌握 对于程序员来说,数据结构是必修的一门课.从查找到排序,从链表到二叉树,几乎所有的算法和原理都需要理解,理解不了也要死记硬背下来.幸运的是这些理论都已经比较成熟,算 ...

  2. STL标准模板库(简介)

    标准模板库(STL,Standard Template Library)是C++标准库的重要组成部分,包含了诸多在计算机科学领域里所常见的基本数据结构和基本算法,为广大C++程序员提供了一个可扩展的应 ...

  3. STL的std::find和std::find_if

    std::find是用来查找容器元素算法,但是它只能查找容器元素为基本数据类型,如果想要查找类类型,应该使用find_if. 小例子: #include "stdafx.h" #i ...

  4. STL: unordered_map 自定义键值使用

    使用Windows下 RECT 类型做unordered_map 键值 1. Hash 函数 计算自定义类型的hash值. struct hash_RECT { size_t operator()(c ...

  5. C++ STL简述

    前言 最近要找工作,免不得要有一番笔试,今年好像突然就都流行在线笔试了,真是搞的我一塌糊涂.有的公司呢,不支持Python,Java我也不会,C有些数据结构又有些复杂,所以是时候把STL再看一遍了-不 ...

  6. codevs 1285 二叉查找树STL基本用法

    C++STL库的set就是一个二叉查找树,并且支持结构体. 在写结构体式的二叉查找树时,需要在结构体里面定义操作符 < ,因为需要比较. set经常会用到迭代器,这里说明一下迭代器:可以类似的把 ...

  7. STL bind1st bind2nd详解

    STL bind1st bind2nd详解   先不要被吓到,其实这两个配接器很简单.首先,他们都在头文件<functional>中定义.其次,bind就是绑定的意思,而1st就代表fir ...

  8. STL sort 函数实现详解

    作者:fengcc 原创作品 转载请注明出处 前几天阿里电话一面,被问到STL中sort函数的实现.以前没有仔细探究过,听人说是快速排序,于是回答说用快速排序实现的,但听电话另一端面试官的声音,感觉不 ...

  9. STL的使用

    Vector:不定长数组 Vector是C++里的不定长数组,相比传统数组vector主要更灵活,便于节省空间,邻接表的实现等.而且它在STL中时间效率也很高效:几乎与数组不相上下. #include ...

  10. [C/C++] C/C++延伸学习系列之STL及Boost库概述

    想要彻底搞懂C++是很难的,或许是不太现实的.但是不积硅步,无以至千里,所以抽时间来坚持学习一点,总结一点,多多锻炼几次,相信总有一天我们会变得"了解"C++. 1. C++标准库 ...

随机推荐

  1. 队列——queue的用法(及洛谷B3616)

    队列的概念 在说队列之前,先回忆一下栈是什么,我们一般说栈是一个先进后出的数据结构,而队列就是先进先出的数据结构. 队列是定在表的一端进行插入,表的另一端进行删除. 通常,我们称进数据的一端为队尾,出 ...

  2. JZOJ 2020.07.27【NOIP提高组】模拟

    总结 今天的题还好,不幸拿了 \(rank1\),只有 \(380pts\) 实际 \(AK\) 也不难 前三题都是思维题 后面一题其实不过是简单的数据结构优化 \(dp\) 的题 用 \(GSM\) ...

  3. Android:Banner 和 Glide 在 Fragment 中实现轮播图

    添加依赖信息 引入 Banner 和 Glide 依赖信息: dependencies { implementation 'io.github.youth5201314:banner:2.2.2' i ...

  4. Java中的static关键字作用及其应用

    java中的static关键字主要用于内存管理.我们可以应用java static关键字在变量,方法,块和嵌套类中. static关键字属于类,而不是类的实例. static可以是: 1.变量     ...

  5. qt_2d画图

    qt中如何画图? 使用Qpainter类进行2D绘画 例如以下代码进行直线的绘制 QPainter painter(this);painter.setPen(Qt::red);painter.draw ...

  6. element ui 浏览器表单自动填充默认样式

    ::v-deep .el-input__inner {     -webkit-text-fill-color: #000000;     caret-color: #0a0a0a;     box- ...

  7. combox下拉框控件

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  8. [后端-Flask总结]-flask学习总结

    1.flask开发基础与入门: 1.1web开发基础 1.1.1 前端框架: bootstrap, j-query, angular, react 1.2 flask 路由 from flask im ...

  9. LinuxGPU服务器搭建

    (1)驱动与cuda下载: https://www.nvidia.cn/Download/Find.aspx?lang=cn (2)执行以下命令进行安装,文件名替换为自己的. sudo sh NVID ...

  10. HCIP-ICT实战进阶08-以太网链路的聚合和集群

    HCIP-ICT实战进阶08-以太网链路的聚合和集群 1 网络可靠性需求 网络可靠性可以从设备.链路多个层面实现, 保持当前设备或链路出现单点或者多点故障时保证网络服务不间断的能力. 网络可靠性 设备 ...