火龙信奥
  • 首页
  • 课程
  • 题库
  • 打卡
    • 代码对战
    • 快速对战
  • 题单
  • 团队
  • 荣誉墙
  • 商城
  • 登录 / 注册

STL里面的vector

作者: 作者的头像   huolong , 时间:2022-07-15 11:29:07 , 所有人可见, 阅读  6

  1. vector 的常用函数

(1)push_back() 用来在 vector 后面添加一个元素 x,时间复杂度为 0(1)。

(2)size() 如果是一维数组,size()用来获得 vector 中元素的个数;如果是二维数组,size()用来获得vector 中第二维的元素个数,时间复杂度为 0 (1)。

(3)pop_back() 用来删除 vector 的尾元素,时间复杂度为 0(1)。

(4)clear() 用来清空 vector 中的所有元素,时间复杂度为 0(n),其中 n 为 vector 中元素的个数。

(5)insert () 用来向 vector 任意迭代器 it 处插入一个元素 x,时间复杂度为 0(n)。

(6)erase() 用来删除 vector 中的元素,有两种用法。一种是 erase(it),删除迭代器 it 处的元素;另一种是 erase(first,last),删除左闭右开区间[first,last)内的所有元素。

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

using namespace std;

int main()
{
    /*
    定义一个名叫v的存放int的vector
    获取v的元素数目
    在v的末尾插入元素x
    删除v中所有元素;时间复杂度
    删除v中最后一个元素

    删除v中位置是p的元素;时间复杂度
    在v中的位置p插入元素x;时间复杂度

    获取v的开头迭代器
    获取v的结尾迭代器
    获取v是否为空
    获取v中第5个元素
    把v2复制给v;时间复杂度
    判断v1和v2是否相同;时间复杂度
    */
    vector<int> v;
    vector<int> v2;
    cout << v.size() <<endl;
    v.push_back(1);
    cout << v.size() <<endl;
    v.clear();
    cout << v.size() <<endl;
    v.push_back(2); 
    v.pop_back();
    cout << v.size() <<endl;
    v.push_back(3);v.push_back(4);  
    // v.insert(0, 5);


    vector<int>::iterator it = v.begin();
    vector<int>::iterator ie = v.end();

    v.empty();
    cout << v.at(1) << v[1] <<endl; 
    // v.erase(0);
    cout << v.size() <<endl;

    v2 = v;
    cout << v2.size() <<endl;

    if(v2 == v){
        cout << "=";
    }

    return 0;
}

—— 本文来自火龙信奥(义乌睿码科技):义乌青少年信息学奥赛与编程教育平台,专注 CSP-J/S、NOIP、GESP 竞赛培训,线上线下融合教学,助力编程升学。网址:hlcoding.com

©2026加盟我们 | 关于我们 | ACM课程 | 常见问题 | 成果墙 | 评测记录 | 浙ICP备2021013995号
在线画图 | OI WIki | 打字练习
火龙信奥
请输入登录信息


请完成安全验证
验证码底图 滑块
向右拖动滑块完成验证
请输入用户名 / 绑定的手机号码



请输入注册信息(手机号验证码注册)





验证码5分钟有效,60秒内不可重复获取,每日最多3次

微信登录

微信登录二维码

正在生成二维码...

账号已过期,请续期。
去续期

绑定手机号

📱

为了更好地保护您的账号安全,享受完整的平台服务

请您尽快绑定手机号码