首页 > 其他分享 >容器迭代器

容器迭代器

时间:2024-11-05 10:16:43浏览次数:5  
标签:容器 const 迭代 iterator int ++ vec

容器迭代器

iterator:普通正向迭代器

  • 可以读取

  • 可以修改

    int main()
    {
        vector<int> vec;
        for (int i = 0; i < 20; i++)
        {
            vec.push_back(rand() % 100 + 1);
        }
        auto it = vec.begin();
        for ( ;it != vec.end();it++ )
        {
            if (*it % 2 == 0)
            {
                *it = 0;
            }
          
        }
        for (int val : vec)
            cout << val << " ";
        cout << endl;
        return 0;
    }
    

const_iterator:常量迭代器

const_iterator 继承自iterator

  • 只读

  • 不写

    int main()
    {
        vector<int> vec;
        for (int i = 0; i < 20; i++)
        {
            vec.push_back(rand() % 100 + 1);
        }
        vector<int>::const_iterator it = vec.begin();
    
        for ( ;it != vec.end();it++ )
        {
            if (*it % 2 == 0)
            {
                cout << *it << " ";
            }     
        }
        cout << endl;
        return 0;
    }
    
    

reverse_iterator 反向迭代器

反向遍历容器的元素

int main()
{
    vector<int> vec;
    for (int i = 0; i < 20; i++)
    {
        vec.push_back(rand() % 100 + 1);
    }
    vector<int>::const_iterator it = vec.begin();

    for ( ;it != vec.end();it++ )
    {
        cout << *it << " ";     
    }
    cout << endl;
    vector<int>::reverse_iterator rit = vec.rbegin();

    for (; rit != vec.rend(); rit++)
    {
        cout << *rit << " ";
    }
    cout << endl;
 
    return 0;
}

const_reverse_iterator 常量反向迭代器

  • 反向遍历
  • 只支持读,不能写

标签:容器,const,迭代,iterator,int,++,vec
From: https://blog.csdn.net/weixin_43459437/article/details/143502214

相关文章

  • 盛最多水的容器
    盛最多水的容器题目给定一个长度为n的整数数组height。有n条垂线,第i条线的两个端点是(i,0)和(i,height[i])。找出其中的两条线,使得它们与x轴共同构成的容器可以容纳最多的水。返回容器可以储存的最大水量。示例思路保存的水的容量只和选中的左右边界的......
  • PVE容器直通显卡教程
    intel、amd、nvidia的显卡均可以直通,并且该直通是共享,不是独占,也即所有容器都可以同时使用这些显卡,同时性能没有损耗。创建容器取消勾选无特权的容器,即unprivilegedcontainer查看显卡文件$ls-l/dev/dri/crw-rw----1rootvideo226,0Dec2911:20card0crw-rw---......
  • 【C++篇】跨越有限与无限的边界:STL之set容器中的自我秩序与无限可能
    文章目录C++`set`容器详解:秩序与高效的数据管理前言第一章:C++`set`的概念1.1`set`的定义1.2`set`的特点第二章:`set`的构造方法2.1常见构造函数2.1.1示例:不同构造方法2.2相关文档第三章:`set`的常用操作3.1插入操作详解3.1.1使用`insert()`插入元素3.1......
  • 关联容器笔记
    关联容器总结有序关联容器键值的顺序自动排序,键值必须支持<操作符底层数据结构使用平衡树,比如(红黑树)增删查的平均时间复杂度接近O(log⁡n)种类std::set:集合,包含唯一的键元素。std::multiset:多重集合,允许键重复。std::map:映射,键值对(键唯一,值可以重复)。std::m......
  • JavaScript的迭代器和生成器
    1.迭代器Iterator1. 基本概念JavaScript表示集合的对象大致有Object,Array,Map,Set四种,并且这四种类型的数据之间可以相互以成员嵌套(如Array的成员可以是Object,而Map又可以嵌入Object的成员中),为了处理所有不同的数据结构,就需要统一的接口机制。迭代器(Iterator)就是这样一种......
  • 顺序容器对比
    顺序容器vector特点动态数组内存是连续的以二倍大小进行扩容,其中reserve只进行空间的预留不创建元素而resize既修改空间大小又改变元素个数deque的特点底层为二维动态数组第二维数组空间大小固定扩容时,第一维数组的二倍进行扩容该二维数组的内存并不是连续的list的特点......
  • C++ STL常用容器之set
    文章目录一、集合set二、所需的头文件三、基本访问操作3.1插入元素3.2删除元素3.3查找元素3.4其他函数四、无序集合unordered_set五、multiset六、unordered_multiset七、使用set容器八、map与set的区别一、集合setset称为集合,是一个内部自动有序且不含重复元素......