返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C++vector的用法你都知道嘛
  • 385
分享到

C++vector的用法你都知道嘛

2024-04-02 19:04:59 385人浏览 安东尼
摘要

目录c++vector用法整理1.头文件2.vector初始化3.vector对象的重要操作1.赋值(assign)2.返回元素值3.清空、判断是否为空4.删除5.插入6.返回vec

C++vector 用法整理

1.头文件

#include<iOStream>//容器
#include<vector> //算法
#include<iterator>//迭代器

一个代码示例

#include<iostream>//容器
#include<vector> //算法
#include<iterator>//迭代器
using namespace std;
int main(int arGC, const char* argv[])
{
    const int SIZE = 6;
    int array[SIZE] = {1,2,3,4,5,6};
    vector<int> v(array,array+SIZE);
    cout<<"First element:"<<v.front()<<"\n Last element"<<v.back()<<endl;
   
}

2.vector初始化

定义十个整形元素的向量(其中初值不确定)

vector<int> a(10);

每个元素初值为1;

vector<int> a(10,1);

类似于深拷贝的整体赋值方式

vector<char> a(b);

vector<char> a(b.begin(),b.begin+3);//(a的值为0~2个元素)

数组赋初值(和上面一个有点相似)

vector<int> a(b, b+7);

3.vector对象的重要操作

1.赋值(assign)

a.assign(b.begin(),b.begin()+3); //注意!此处,将b 0~2个元素构成的向量赋值给a!与上面不同!

a.assign(4,2);//  与vector<int> a(10,1);结果相同

2.返回元素值

//返回最后一个元素
a.back();
//返回第一个元素
a.front();
//数组返回式
 a[i];

3.清空、判断是否为空

a.clear();

a.empty();

4.删除

//删除最后一个元素
a.pop_back();
//删除一块元素
a.erase(a.begin(),a.begin()+3);

5.插入

//在最后一个向量后插入一个元素
a.push_back(5);
// 插入一段元素(从第一个元素算起,插入3个数,值都为5)
a.insert(a.begin(), 3, 5);
//用数组插入一段元素(在a的第一个元素的位置插入b的第3个元素到第5个元素)
a.insert(a.begin(), b+1,b+6);


//从现有向量中选择元素向向量中添加
int a[6] = {1, 2, 3, 4, 5, 6};
vector<int> b;
wector<int> c(a, a+4);
for(vector<int>::iterator it = c.begin(); it<c.end():it++)
{
    b.push_back(*it);
}


//从文件读取元素向向量中添加
ifstream in("data.txt");
vector<int> a;
for(int i;in>>i)
{
    a.push_back(i);
}

6.返回vector的现存元素个数、共可容纳个数

a.size();

a.c apacity();

7.调整元素个数(这个好牛)

//将元素个数调整至10,多删少补,补的值随机
a.resize(10);
//将元素个数调整至10,多删少补,补的值为2
a.resize(10,2);
//大容量扩充(不补充值)
a.reserve(100);

8.整体性交换

a.swap(b);

9.向量的比较操作

a==b;
//还有 !=  >=  <=  >  <

10.重要算法

//从小到大排列
sort(a.begin(), a.end());
//倒置但不排列
 reverse(a.begin(),a.end());
//元素复制
copy(a.begin(),a.end(),b.begin());
//从某一区块中查找元素值,返回位置
find(a.begin(),a.end(),10);

4.一些误区

下标只能获取已存在的元素,不能进行赋值操作

//错误示例
vector<int> a;
for(int i = 0;i<10;i++)
    a[i] = i;

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注编程网的更多内容!      

--结束END--

本文标题: C++vector的用法你都知道嘛

本文链接: https://lsjlt.com/news/139671.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • C++vector的用法你都知道嘛
    目录C++vector用法整理1.头文件2.vector初始化3.vector对象的重要操作1.赋值(assign)2.返回元素值3.清空、判断是否为空4.删除5.插入6.返回vec...
    99+
    2024-04-02
  • Javascript数组常用方法你都知道吗
    我用这些方法主要从五个方面去学习。 1.方法是干什么的。 2.谁能用 (当然是数组啦)。 3.有没有返回值,返回值是什么。 4.修不修改原来的对象。 5.如何使用。 接下来就是干货了...
    99+
    2024-04-02
  • Python的type函数结果你知道嘛
    目录isinstance() 与 type() 区别:type函数结果举例,主要有六大类:总结简介:type() 函数可以对数据的类型进行判定。 isinstance() 与 typ...
    99+
    2024-04-02
  • React的三大属性你都知道吗
    目录React三大属性props函数组件类组件state有状态组件和无状态组件setStateprops和state属性的区别refsReact.createRefref的绑定总结R...
    99+
    2024-04-02
  • 带你了解C++中vector的用法
    目录一,什么是vector二,容器特性1,顺序序列2,动态数组3,能够感知内存分配器三,常用基本函数实现四,基本用法1,头文件2,创建和使用3,算法五,vector占用内存空间问题1...
    99+
    2024-04-02
  • JavaScript循环遍历的24个方法,你都知道吗
    目录前言一、数组遍历方法1. forEach()2. map()3. for of4. filter()5. some()、every()6. reduce()、reduceRigh...
    99+
    2024-04-02
  • C语言字符函数中的isalnum()和iscntrl()你都知道吗
    isalnum() 函数用于检查所传的字符是否是字母或者十进制数字。它的函数原型如下: _CRTIMP int __cdecl isalnum(int _C); 返回...
    99+
    2024-04-02
  • Python 索引的面试问题,你都知道吗?
    在 Python 中,索引是一种非常常见的操作。在面试中,经常会有面试官问到和索引相关的问题。今天,我们就来总结一下 Python 索引的面试问题,看看你是否都知道。 Python 中的索引是从哪里开始的? 在 Python 中,索引...
    99+
    2023-10-31
    索引 面试 laravel
  • 你不知道的C++中namespace和using的用法实例
    目录引言一: 冒号作用域二、名字控制1 命令空间2 命令空间的使用 三、 using的指令1 using的声明2 using的编译指令总结引言 你是不是只认为na...
    99+
    2022-12-19
    c++ namespace 用法 c++中的using namespace c++ using namespace
  • Java函数编程的5个必备算法,你都知道吗?
    Java是一种非常流行的编程语言,具有强大的函数编程能力。在函数编程中,算法是至关重要的。本文将介绍Java函数编程的5个必备算法。 阶乘算法 阶乘是一个非常基本的数学概念,表示一个自然数的所有小于等于它的正整数的乘积。阶乘算法的实现可...
    99+
    2023-08-31
    函数 编程算法 git
  • JavaScript中你不知道的Object.entries用法
    目录前言1. 使用 for...of 遍历普通对象2. 普通对象与 Map 对象相互转换总结参考前言 平时我们经常会用到 Object 类上的静态方法,例如 Object.keys ...
    99+
    2024-04-02
  • javascriptes6的常用语法你知道吗
    目录1.const常量标识1.不允许重复声明赋值2.块级作用域3.无变量提升4.dead zone (死区)5.let or cosnt总结1.不允许重复声明赋值2.块级作用域3.无...
    99+
    2024-04-02
  • 你需要知道的MySQL&InnoDB锁都在这里
    本文系统性介绍了MySQL&InnoDB的锁机制。   目录 一、前言 二、锁的类型 2.1 全局锁 2.2 表级锁 2.2.1 表锁 2.2.2 元数据锁(Meta Data...
    99+
    2017-04-26
    你需要知道的MySQL&InnoDB锁都在这里
  • Java Spring @Autowired的这些骚操作,你都知道吗
    目录前言1. @Autowired的默认装配2. 相同类型的对象不只一个时3. @Qualifier和@Primary4. @Autowired的使用范围4.1 成员变量4.2 构造...
    99+
    2024-04-02
  • python的变量和运算符你都知道多少
    目录python变量1. 定义变量 (创建变量)2.使用变量3.重新给变量赋值4. 同时定义多个变量5.定义变量和重新赋值变量的原理运算符1. 数学运算符2. 比较运算符:3. 逻辑...
    99+
    2024-04-02
  • 简单的这些不为人知的小技巧你都知道吗?
      随着科技的发展,手机在生活越来越重要,微信渐渐成为我们生活中沟通的重要媒介。现在很多的中老年人也开始使用微信了,但是微信上有很多功能,他们都不会使用,如果我们不在他们的身边,他们又想使用微信的话,那...
    99+
    2024-04-02
  • C/C++的文件IO函数你知道吗
    目录一、C1.fopen函数参数 返回值2.fclose3.FILE结构体4.fprintf()和fscanf()函数二、C++三、示例程序总结文件(file)通常是在磁盘...
    99+
    2024-04-02
  • C++与C语言的区别你知道吗
    目录1.结构体区别1.1.类型上不再需要struct关键字,直接用结构体名即可1.2.C++结构体中允许函数存在2.动态内存申请C语言的动态内存申请C++的动态申请3.内存池4.st...
    99+
    2024-04-02
  • Python调用外部程序的9种方式,你都知道吗?
    前言     外部程序,测试工程师经常使用adb,Python程序中调用adb,相对当前的Python程序,则为调用外部程序,你可能用过os.system()、os.popen()等方式,官方推荐subprocess模块中的run()函数,...
    99+
    2023-09-12
    python 开发语言 adb
  • 在Python中f-string的几个技巧,你都知道吗
    目录最基础用法自记录表达式多行f-string在f-string中格式化日期控制浮点数精度标准化显示宽度修改为左对齐设置科学计数法格式控制有效数字位数f-string想必很多Pyth...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作