STL模板-vector 容器、迭代器

本文详细介绍了STL中的vector容器,包括作为参数传入函数的方法和使用size()获取步长。同时,阐述了容器的两大类:顺序容器(如vector、deque、list)和关联容器(如set、map)。讲解了迭代器的概念,提供了不同类型的迭代器定义方法,并指出某些容器如stack、queue、priority_queue没有迭代器。此外,还提到了迭代器的辅助函数如advance、distance和iter_swap的用法。
摘要由CSDN通过智能技术生成
#include <vector>
#include <iostream>

using namespace std;
int main()
{
    vector<int> v;//使用类模板制作一个容器对象,vector 相当于一个数组
    vector<int> a;
    vector<int>::iterator it; //创建v容器的迭代器对象,迭代器是用来定位容器中某个元素

    v.push_back(2); //添加
    v.push_back(99); //添加
    v.push_back(76); //添加
    v.push_back(33); //添加
    v.push_back(0); //添加

    a.push_back(2); //添加
    a.push_back(99); //添加
    a.push_back(76); //添加
    a.push_back(33); //添加
    a.push_back(0); //添加

    //比较容器v和a的元素个数
    if (v==a)  //任何两个容器对象,只要它们的类型相同,就可以用 <、<=、>、>=、==、!= 进行词典式的比较运算
    {
        cout << "容器v与容器a的元素个数相同" << endl;
    }
    

    cout << v[0] << endl;  //查看容器上的第0位置的元素
    cout << v.at(2) << endl;//查看容器上的第2位置的元素

    //遍历
    for (size_t i = 0; i < v.size(); i++){   //.size(),容器的大小
        cout << v[i] << " ";
    }
    cout << endl;

    //删除最后一个元素
    v.pop_back();

    {
        //使用迭代器
        it =v.begin();//迭代器指向第0个元素
        it += 2;
        v.erase(it);//删除第2个元素
        //遍历
        for ( it=v.begin(); it!=v.end(); it++)
        {
            cout << *it << " ";//it相当于一个地址
        }
            cout << endl;
    }

    {
        //插入9527到第2个位置
        it =v.begin();
        it += 2;
        v.insert(it, 9527); //插入元素9527到第it位置
        for ( it=v.begin(); it!=v.end(); it++)
        {
            cout << *it << " ";//it相当于一个地址
        }
   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值