代码编织梦想

C++STL常用操作之prev、next篇


简介:

1.prev:反向

2.next:位移


我们先建立一个set容器,在容器中放入1-10这10个数字

set<int> s;
for(int i = 1;i <= 10;++i)
    s.insert(i);

此时容器s中的元素为1,2,3,4,5,6,7,8,9,10

prev:

如果用到lower_bound函数

cout<<*s.lower_bound(5)<<"\n";

应该输出大于等于5的第一个数,此处应该是输出5

那么我们使用prev呢?

cout<<*prev(s.lower_bound(5))<<"\n";

这里输出的是4,也就是说刚开始的大于等于变成了小于,有着反向的效果。

next:
auto it = s.begin();
cout<<*next(it,2);

这里输出的是3,也就是s.begin()的后两个位置的数。

如果参数是负数呢?

it = --s.end();
cout<<*next(it,-3);

输出就是前三个位置的数了,也就是7。


#include<iostream>
#include<set>
using namespace std;
int main(){
    set<int> s;
    for(int i = 1;i <= 10;++i)
        s.insert(i);
    cout<<*s.lower_bound(5)<<"\n";
    cout<<*prev(s.lower_bound(5))<<"\n";
    auto it = s.begin();
    cout<<*next(it,2)<<"\n";
    it = --s.end();
    cout<<*next(it,-3);
    return 0;
}

在这里插入图片描述


prev和next的内容还有很多很多,这里简单介绍

发现问题欢迎指正!

有不懂请留言!

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_45985728/article/details/115262401

c++ stl常用操作_yerkeys的博客-爱代码爱编程

  目录 一、vector 1.vector 的初始化 2.vector对象的常用操作 3.顺序访问vector方式 4.常用算法 二、pair 1、创建和初始化 2、pair对象操作 三、stack 定义stack对象: stack的基本操作: 四、queue 定义queue对象 queue的基本操作 优先队列priori

c++中stl用法超详细总结_hust_miao的博客-爱代码爱编程_c++stl

目录 1 什么是STL? 2 STL内容介绍 2.1 容器 2.2 STL迭代器 2.3 算法 2.4 仿函数 2.4.1 概述 2.4.2 仿函数(functor)在编程语言中的应用  2.4.3 仿函数在STL中的定义 2.5 容器适配器 2.5.1 stack 2.5.2 queue & priority_queue

深入 setstate 机制_前端瓶子君的博客-爱代码爱编程_setstate机制

React 是通过管理状态来实现对组件的管理,即使用 this.state 获取 state,通过 this.setState() 来更新 state,当使用 this.setState() 时,React 会调用 rend

c++ stl next-爱代码爱编程

1. next_permutation()函数 next_permutation函数原型为: template bool next_permutation (BidirectionalIterator first, B

STL迭代器prev,next相关函数-爱代码爱编程

<iterator> - C++ Reference 迭代器的头文件<iterator>中定义了6个实现迭代器模板的函数模板. 1、advance(iterator,num):将迭代器iterator 移动了num个位置。引用传递,改变iterator本身 2、distance(iterator1,iterator2):返回两

groovy prev读写响应内容-爱代码爱编程

目录   Prev 例子 结果 总结 Prev SampleResult支持的API,prev都支持 API: https://jmeter.apache.org/api/org/apache/jmeter/samplers/SampleResult.html适用于JSR223 Assertion和JSR223 PostProcessorg

关于C++ STL 中advance()、 distance() 、begin()、end()、prev()、next() 函数的使用-爱代码爱编程

1、advance():用于将迭代器前进(或者后退)指定长度的距离 #include <iostream> // std::cout #include <iterator> // std::advance #include <vector> using namespace std; int main()

C++ STL prev()函数-爱代码爱编程

1.直观理解 new_iterator = prev(iterator,n) 当“n“为正数时,返回传入迭代器“iterator”左边,距离”iterator“ n个单位的迭代器”new_iterator“。 当“n“为负数时,返回传入迭代器“iterator”右边,距离”iterator“ n个单位的迭代器"new_iterator"。 new_

uni-app 开发 h5/app使用prevPage.setData-爱代码爱编程

uni-app中的这一串代码,我估计只有在小程序中才会生效,反正h5,和app中没有生效 let pages = getCurrentPages(); //获取当前页面js里面的pages里的所有信息。 let prevPage = this.getT == 0 ? pages[pages.length - 3] : pages[pages.

c++ hashset的用法_C++ set用法(STL set用法)详解-爱代码爱编程

是时候了解一下 set 容器的用法了。我们把 vector、set 和 map 容器组合在一起来创建一个示例,并且会介绍一种新的有用算法。 在这个示例中,你会将学习不同学科的学生分配到一组。每个学生都必须学习指定的最小数目的学科。每个学习特定学科的学生都被保存到 set 容器中,因为一个学生只能在一门特定课程中出现一次。这个示例不会特别有效率。在本例

C++STL常用操作之总篇-爱代码爱编程

C++STL常用操作之总篇 常用内容:(原创) vector:https://blog.csdn.net/qq_45985728/article/details/112598270 string:https://blog.csdn.net/qq_45985728/article/details/112601755 stack:https://blo

C++常用STL库详细总结-爱代码爱编程

C++STL库函数总结 #incude< algorithm >库函数1.sort排序2.reverse倒转3.unique去重4.二分查找5.find函数查找6.字符串和整型的互换7.排列组合#include< vector >库函数1.vector介绍2.vector的功能函数#include< stack >

c++编程必备神器stl——常用算法-爱代码爱编程

C++标准函数库中,为我们提供了一个algorithm库,里面包含了十分多的常用算法,下面我来做一个小小的总结 非修改序列操作 adjacent_find 查找两个相邻(Adjacent)的等价(Identical)

c++ stl prev()和next()函数(深入了解,一文学会)-爱代码爱编程

        《C++ STL advance()函数(深入了解,一文学会)》一节中,详细讲解了 advance() 函数的功能,其可以将指定迭代器前移或后移 n 个位置的距离。   本文作者原创,转载请附上文章出处与本文链接。  C++ STL prev()和next()函数(深入了解,一文学会)目录 1 advance() 函数移动的