返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >如何使用C++的vector
  • 855
分享到

如何使用C++的vector

2023-06-25 15:06:54 855人浏览 安东尼
摘要

本篇内容介绍了“如何使用c++的vector”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!创建对象在C++中,官方文档所给的创建对象方法有4

本篇内容介绍了“如何使用c++的vector”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

创建对象

在C++中,官方文档所给的创建对象方法有4-6种,博主这里便介绍其中最常用的4种,同时博主为了大家先能够简单使用,会省去一些与源文档不一样的地方.

直接创建,即和类定义对象一样,官方声明为:explicit vector ();,其中explict是指不支持隐式类型转换.

示例:

vector<int> v1;          //创建int类型顺序表 v1;vector<char> v2;         //创建char类型顺序表 v2;vector<double> v3;       //创建double类型顺序表 v3;

通过传n个val值定义对象,达到一创建对象就具有n个val,官方声明为:explicit vector (size_type n, const value_type& val = value_type();,其中value_type就是我们需要的类型…

示例:

vector<int> v1(10,9);    //创建int类型顺序表v1,里面有10个9;vector<int> v2(v1.begin(),v1.begin()+6);   //创建int类型顺序表v2,里面有6个9;

通过迭代器区间形式创建对象,官方声明为:template <class InputIterator> vector (InputIterator first, InputIterator last).

示例:

vector<int> v1(10,9);    //创建int类型顺序表v1,里面有10个9;vector<int> v2(v1.begin(),v1.begin()+6);   //创建int类型顺序表v2,里面有6个9;

通过现成的同类型对象创建对象,官方声明为:vector (const vector& x);.

示例:

vector<char> v1(10,9);   //通过前面的方法创建一个对象;vector<char> v2(v1);     //创建对象v2,其内容与v1一模一样.

迭代器

在经过前几节的string洗礼,相信大家对迭代器也算比较了解,这里就直接开门见山的介绍用法吧:

  • 普通迭代器接口:分别是begin()end();其中begin()为首元素位置,end()为末元素位置下一个位置

  • 反转迭代器接口:分别是rbegin()和rend();其中rbegin()是末元素位置,rend()是首元素前一个位置.

示例:

vector<int> v1;v1.push_back(1);v1.push_back(2);v1.push_back(3);v1.push_back(4);    //这四个步骤大概意思为插入 1 2 3 4vector<int>::iterator it = v1.begin();while(it != v1.end()) {    cout<<*it<<" ";}cout<<endl;              //到这一步会输出 1 2 3 4it = v1.rbegin();while(it != rend()){    cout<<*it<<" ";}cout<<endl;              //到这一步会输出4 3 2 1

数据插入

在数据插入方面,C++最常用的两个函数接口分别是insert和push_back.前者是在目标位置前插入,后者是进行尾插;

尾插 ,即对象直接调用push_back(),然后传值进去.

vector<int> v1;    //先创建一个对象.v1.push_back(1);   //尾插数据1v1.push_back(2);   //尾插数据2v1.push_back(3);   //尾插数据3// 现在v1的数据内容情况为 1  2  3

而任意位置插入最常用的有3种,分别是

  • 在pos位置直接插入一个元素,pos是一个迭代器

  • 在pos位置直接插入n个元素,pos是一个迭代器

  • 在pos位置插入一段区间(区间用迭代器表示),pos是一个迭代器

示例:

数据删除

在删除数据方面,主要有两个接口,分别是erase()和pop_back(),前者是给一个迭代器,然后删除.后者是尾删,不需要参数

尾删:

vector<int> v1;v1.push_back(1);v1.push_back(2);v1.push_back(3);v1.push_back(4);v1.pop_back();  //尾删元素4v1.pop_back();  //尾删元素3v1.pop_back();  //尾删元素2//目前该容器还剩下元素 1

传迭代器形式删除

vector<int> v1;v1.push_back(1);v1.push_back(2);v1.push_back(3);v1.push_back(4);v1.erase(v1.begin());      //删除第一个元素1v1.erase(v1.begin()+1);    //删除现在容容器的第二个元素3//目前还剩下元素2 4

容量操作

在这方面,c++提供了size(),resize(),capacity(),empty()几个常用操作.

  • 获取目前元素数量

vector<int> v1;v1.push_back(1);v1.push_back(2);v1.push_back(3);v1.push_back(4);v1.size();   //获取到元素数量为4个

重新调整大小,其中如果传入的n小于原来的size,那么容器就会缩减到n,同时传入的另外参数无效;如果n大于size,就会扩大到n,参数有效,和string的使用一样. 官方文档为:void resize (size_type n, value_type val = value_type());

示例:

vector<int> v1;v1.push_back(1);v1.push_back(2);v1.push_back(3);v1.push_back(4);v1.resize(3,0);   //只会缩减到3个size,传入的另一个0无效v1.resize(6,9);   //现在6大于size:3,所以9有效//现在内容为1 2 3 9 9 9

获取容量

vector<int> v1;v1.capacity();  //注意哦~,这个容量和size并不一样.

判断是否为空

示例:

vector<int> v1;if(v1.empty()){    cout<<"容易为空"<<endl;}else{    cout<<"容器不为空"<<endl;}

“如何使用C++的vector”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: 如何使用C++的vector

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

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

猜你喜欢
  • 如何使用C++的vector
    本篇内容介绍了“如何使用C++的vector”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!创建对象在C++中,官方文档所给的创建对象方法有4...
    99+
    2023-06-25
  • c++ vector的push_back如何使用
    在C++中,vector是一种动态数组,可以根据需要动态增长或缩小。push_back()函数用于在vector的末尾添加一个新元素...
    99+
    2024-04-02
  • C++容器Vector如何使用
    今天小编给大家分享一下C++容器Vector如何使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。Vector简介Vecto...
    99+
    2023-06-30
  • 【C++】vector的使用
    1、vector的使用 #define _CRT_SECURE_NO_WARNINGS 1#include #include using namespace std;void Test1(){vector v1;vector v2(10,...
    99+
    2023-08-30
    c++
  • C++如何使用std::vector容器
    这篇文章给大家分享的是有关C++如何使用std::vector容器的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。前言vector实质是C++的一个类,与数组很相似,但是vector的优势是可以动态扩展,不需要考虑...
    99+
    2023-06-20
  • C++中vector怎么使用
    小编给大家分享一下C++中vector怎么使用,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!一,什么是vectorvector(向量)是一个封装了动态大小数组的顺序容器。能够存放各种类型的对象(注:一个容器中所有对象必须是...
    99+
    2023-06-26
  • C++STL中vector容器的使用
    目录一、vector(1)区分size()和capacity()(2)迭代器失效(3)区分const_iterator和const iterator(4)区分reserve()和re...
    99+
    2024-04-02
  • C++ 容器 Vector 的使用方法
    目录Vector简介Vector 与数组创建 vector 的各种方法访问 vector 的元素删除元素前言: 我们都是带着问题学习,假设一个任务,也可以理解为一个问题,通过找解决方...
    99+
    2024-04-02
  • C++中vector如何遍历
    这篇文章给大家分享的是有关C++中vector如何遍历的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1.迭代器for(vector<int>::iterator it = ...
    99+
    2023-06-20
  • C++中vector<vector<int> >的基本使用方法
    目录前言一、为什么是vector?二、什么是vector?2.0 容器特性2.1. 基本操作2.2. 常见定义方法:2.3. 使用方法2.3.1 创建一维vector:2.3.2 定...
    99+
    2024-04-02
  • C++的vector使用方法有哪些
    这篇文章主要讲解了“C++的vector使用方法有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C++的vector使用方法有哪些”吧!C++vector 用法整理1.头文件#inclu...
    99+
    2023-06-29
  • C++入门之vector使用详解
    目录前言创建对象迭代器数据插入数据删除容量操作总结前言 兜兜转转,我们来到了C++的vector章节,今天就讲讲怎么使用vector吧. vector的本质就是一个线性的顺序表,只不...
    99+
    2024-04-02
  • c++中vector的使用和模拟实现
    一、接口介绍 1、插入数据 void push_back(const T& x) 在当前vector尾部插入x,如果容量不够扩大二倍。 iterator insert(it...
    99+
    2024-04-02
  • C++中如何模拟实现vector
    这篇文章给大家分享的是有关C++中如何模拟实现vector的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。vector接口总览namespace nzb{//模拟实现vectortemplate<c...
    99+
    2023-06-25
  • c++如何保存vector到文件
    目录c++保存vector到文件以下代码提供例子,仅供参考c++读文件,将内容分成两个vectorc++保存vector到文件 实现将vector中的数据保存到二进制文件和从文件中读...
    99+
    2022-11-16
    c++ vector 保存vector到文件 c++保存vector到文件
  • C++  STL _ Vector使用及模拟实现
    目录1.Vector的介绍1.1 Vector的介绍2.Vector的使用2.1 vector的定义2.2 vector 迭代器的使用 2.3 vector的空间增长问题3...
    99+
    2024-04-02
  • C++STL标准库std::vector的使用详解
    目录1. 简介2. 使用示例3. 构造、析构、赋值3.1 std::vector::vector 构造函数3.2 std::vector::~vector 析构函数3.3 std::...
    99+
    2024-04-02
  • C++ vector的基本使用方法是什么
    这篇文章主要介绍“C++ vector的基本使用方法是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“C++ vector的基本使用方法是什么”文章能帮助大家解决问题。一、ve...
    99+
    2023-07-05
  • c++中vector怎么用
    这篇文章将为大家详细讲解有关c++中vector怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、接口介绍插入数据void push_back(const T& x)在当前vector尾部插...
    99+
    2023-06-14
  • C++顺序容器(vector、deque、list)的使用详解
    目录一:STL(Standard Template Library),即标准模板库,是一个高效的C++程序库二:STL组件三:容器四:类型成员五:迭代器六:顺序容器七:顺序容器--向...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作