C++ STL 学习笔记 vector

本文详细介绍了C++标准模板库中的向量容器概念、定义及初始化方法,并提供了实例演示如何利用向量容器进行数据操作,包括元素的添加、删除、查找等功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

vector:
向量容器,动态数组,类模板
定义和初始化:

vector<T> v1;           //v1是空vector,元素类型是T类型,执行默认初始化,int为0,string为空串
vector<T> v2(v1);       //v2中包含有v1所有元素的副本
vector<T> v3(n,val);    //v3包含了n个重复的元素,每个元素的值都是val
vector<T> v4(n);        //v4包含了n个重复的执行了值初始化的对象
vector<T> v5{a,b,c,...} //以大括号中的元素初始化

vector中的操作

v.push_back(val)          //向v的末端添加一个值为val的元素
v.pop_back()              //删除最后一个元素
v.empty()                //如果v不含任何元素,返回true,否则返回false
v.size()               //返回v中元素个数,类型为vector<T>::size_type
v1==v2                   //v1等于v2仅当他们的元素个素相等,以及各位置所对应的元素的值相等
<,<=,>,>=                //以字典序进行比较
v[i]                     //通过下标访问v中第i个元素,不能用此添加,如果v为空就没有下标
v.erase(iterator position)    //删除指定位置的元素
v.erase(iterator begin,iterator end) //删除指定范围的元素
v.insert(it,val)      //在迭代器it前插入一个值为val的元素

迭代器:iterator

C++ STL 中各容器都有相应类型的iterator; 一般使用iterator来访问容器中的元素。

iterator的声明方式

例:
string:: iterator it;
vector<T>:: iterator it;

学习代码

#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;
int main()
{
    vector<int> v;
    v.push_back(50);
    v.push_back(2991);
    v.push_back(23);
    v.push_back(9999);

    cout << "向量v里面的数据:" << endl;
    vector<int>::iterator i = v.begin();
    while (i != v.end())
    {
        cout << *i << endl;
        ++i;
    }
    vector<int>::iterator iElement = find(v.begin(), v.end(),2991);//find()包含在algorithm头文件中
    if (iElement != v.end())
    {
        int nPosition = distance(v.begin(), iElement);     //distance()包含在algorithm头文件中
        cout << "Value" << *iElement << endl;
        cout << "nPosition" << nPosition << endl;
    }
    getchar();
    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值