Sword STL迭代器prev,next相关函数

Posted zhanggaofeng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Sword STL迭代器prev,next相关函数相关的知识,希望对你有一定的参考价值。

迭代器的头文件中定义了4个实现迭代器模板的函数模板.

1、advance(iterator,num):将迭代器iterator 移动了num个位置

2、distance(iterator1,iterator2):返回两个迭代器之间的元素的个数

3、next(iterator,n):将iterator正向偏移n之后所指向位置的一个迭代器

4、prev(iterator,n):返回iterator反向偏移n之后的所指向的一个迭代器
#include <iostream>
#include <vector>
#include <iterator>   /*prev() next() 方法头文件*/

void test()
{
    std::vector<int> v1;
    std::vector<int>::iterator it;
    
    v1.push_back(1);
    v1.push_back(2);
    v1.push_back(3);
    v1.push_back(4);
    v1.push_back(5);
    v1.push_back(6);
    v1.push_back(7);
    v1.push_back(8);
    v1.push_back(9);
    v1.push_back(10);

    for (it = v1.begin(); it != v1.end(); ++it)
    {
        //排除第一个
        if (it == v1.begin())
        {
            continue;
        }
        //排除倒数第二个
        if (std::next(it) == v1.end())
        {
            break;
        }
        printf("=prev[%d]===current[%d]===end[%d]====
", *std::prev(it), *it, *std::next(it));
    }

}


int main()
{
    test();
    getchar();
    return 0;
}

 

以上是关于Sword STL迭代器prev,next相关函数的主要内容,如果未能解决你的问题,请参考以下文章

C++:多集迭代器中 next() 和 prev() 的运行时间?

C++ STL应用与实现17: 如何使用迭代器辅助函数

STL之list底层简单实现(七千字长文详解!)

[OI - STL] next_permutation( ) & prev_permutation( )函数

STL next_permutation和prev_permutation函数

Sword STL容器分类介绍