C++ vector数组用法及解析

目录
  • 一、什么是vector数组
  • 二、vector的基本操作
    • vector数组的初始化
    • 向vector中插入元素
    • 删除元素
    • 遍历数组
    • 利用vector创建动态二维数组

一、什么是vector数组

  • vector是向量类型
  • vector数组是可以存放任意数据类型的动态数组
  • 和普通数组类似,可以通过下标对数组中的元素进行引用

二、vector的基本操作

  • 使用vector数组要在头文件中加 #include<vector>
  • vector数组的声明
vector<int> vec;//声明一个存放int型的向量

vector数组的初始化

vector<int> vec(1,2,3,4,5,6);//vec中的内容为1,2,3,4,5,6

vector<int> vec(a);//声明并用a向量初始化vec向量

int a[5]={1,2,3,4,5};
vector<int> vec(a,a+5);//将a数组的元素用来初始化vector向量

vector<int> vec(&a[1],&a[4]);//将a[1]-a[4]范围内的元素作为vec的初始值

向vector中插入元素

//在vector的末尾插入新元素
vec.push_back(1);

//在迭代器的前面插入新元素
vector<int>::iterator it;
it=vec.begin();
vec.insert(it,5);//在第一个元素前面插入5

//在vector中加入3个1元素,同时清除掉以前的元素
vec.assign(3,1);//现在vector中只有3个1

删除元素

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

//删除指定位置的元素
vec.erase(vec.begin());//删除第一个位置的元素值

//清除所有元素
vec,clear();

//判断该数组是否为空
vec.empty();

遍历数组

//向数组一样利用下标进行访问
vector<int> a;
for(int i=0;i<a.size();i++){
     cout<<a[i];
}

//利用迭代器进行访问
vector<int>::iterator it;
for(it=a.begin();it!=a.end();it++){
   cout<<*it;
}

利用vector创建动态二维数组

//利用vector数组
//n行m列,即a[n][m]
cin>>n>>m;
vector<vector <int> >a(n);
for(int i=0;i<n;i++){
 a[i].resize(m);
}

到此这篇关于C++ vector数组用法解析的文章就介绍到这了,更多相关C++ vector内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 一篇文章带你了解C++(STL基础、Vector)

    目录 STL基本概念 STL六大组件 STL中容器.算法.迭代器 容器算法迭代器初识 Vector 容器 Vector 三大遍历算法 Vector 存放其他数据类型 Vector 容器嵌套 总结 STL基本概念 STL(Standard Template Library,标准模板库) STL 从广义上分为: 容器(container) 算法(algorithm) 迭代器(iterator) 容器和算法之间通过迭代器进行无缝连接. STL 几乎所有的代码都采用了模板类或者模板函数 STL六大组件

  • C++中检查vector是否包含给定元素的几种方式详解

    概述 在编码中经常会遇到一种场景,就是要在数组或列表中查找某个元素是否存在,其实对于这种线性操作,自己实现一个循环来检查是非常简单的事情,那既然这样,为啥还要专门写篇博客来分享呢? 一个最重要的原因就是我们原本就可以用更简洁直观高效的方式去替代手写for循环,这个方式就是使用C++标准库函数. 再啰嗦几句. 通常在面试的时候,为了考察面试者的编码功底,会让其从头实现某些基础的算法,但是在实际开发中,很多东西都有现成的封装.只有把语言.标准库"双剑合璧"才能算是真正的C++.而且据C++

  • C++ vector 遍历的几种方法

    目录 1.迭代器 2.C++11 新增关键字auto 3.数组遍历法 4.基于范围的for循环 C++ vector遍历demo,多种姿势任你选~ 1.迭代器 for(vector<int>::iterator it = obj.begin(); it != obj.end(); it++) { cout << *it << ","; } 2.C++11 新增关键字auto for(auto it = obj.begin(); it != obj.e

  • C++ vector如何动态申请内存的元素

    vector是一种动态数组,在内存中具有连续的存储空间,支持快速随机访问.由于具有连续的存储空间,所以在插入和删除操作方面,效率比较慢.vector有多个构造函数,默认的构造函数是构造一个初始长度为0的内存空间,且分配的内存空间是以2的倍数动态增长的.在push_back的过程中,若发现分配的内存空间不足,则重新分配一段连续的内存空间,其大小是现在连续空间的2倍,再将原先空间中的元素复制到新的空间中,性能消耗比较大. vector 基本用法: front()返回头部元素的引用,可以当左值 bac

  • C++之vector容器的的声明初始化和增删改查

    C++vector容器 C++中有两种类型的容器:顺序容器和关联容器. 顺序容器主要有vector.list.deque等.其中vector表示一段连续的内存,基于数组实现,list表示非连续的内存,基于链表实现,deque与vector类似,但是对首元素提供插入和删除的双向支持. 关联容器主要有map和set.map是key-value形式,set是单值.map和set只能存放唯一的key,multimap和multiset可以存放多个相同的key. 容器类自动申请和释放内存,因此无需new和

  • C++ Vector 动态数组的实现

    简介 向量(Vector)是一个封装了动态大小数组的顺序容器. 向量是一个能够存放任意类型的动态数组. C++ 中 Vector 的使用 头文件 #include <vector> 需要使用 std 命名空间 using namespace std; 以下使用方法以 int 数据类型为例,使用时可自定义数据类型 注意:下文中区间为左闭右开 1. 定义(初始化)Vector vector<int> v; 创建一个空vector vector<int> v(5); 创建一个

  • C++ vector数组用法及解析

    目录 一.什么是vector数组 二.vector的基本操作 vector数组的初始化 向vector中插入元素 删除元素 遍历数组 利用vector创建动态二维数组 一.什么是vector数组 vector是向量类型 vector数组是可以存放任意数据类型的动态数组 和普通数组类似,可以通过下标对数组中的元素进行引用 二.vector的基本操作 使用vector数组要在头文件中加 #include<vector> vector数组的声明 vector<int> vec;//声明一

  • C++中vector的用法实例解析

    本文实例展示了C++中的vector用法,分享给大家供大家参考.具体如下: 一.概述 vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库.vector是一个容器,它能够存放各种类型的对象,简单地说,vector是一个能够存放任意类型的动态数组,可以动态改变大小. 例如: // c语言风格 int myHouse[100] ; // 采用vector vector<int> vecMyHouse(100); 当如上定义后,vecMyHouse

  • c++ vector 常用函数示例解析

    c++ vector 常用函数 Just like arrays, vectors use contiguous storage locations for their elements, which means that their elements can also be accessed using offsets on regular pointers to its elements, and just as efficiently as in arrays. But unlike ar

  • c++ 中vector 常见用法

    目录 1.c++ 中 vector 2.初始化 3.常用函数 1.c++ 中 vector vector有两个参数,一个是size,表示当前vector容器内存储的元素个数,一个是capacity,表示当前vector在内存中申请的这片区域所能容纳的元素个数. capacity会随着你的使用vector内置函数而动态变化. 通常capacity会比size大,如果往vector中push_back数据,这样就不用重新申请内存和拷贝元素到新内存区域了,便于节省时间. vector 之间可以之间赋值

  • 带你了解C++中vector的用法

    目录 一,什么是vector 二,容器特性 1,顺序序列 2,动态数组 3,能够感知内存分配器 三,常用基本函数实现 四,基本用法 1,头文件 2,创建和使用 3,算法 五,vector占用内存空间问题 1,vector内存自增长 2,vector内存释放 六,疑问解答 1,vector与数组的区别 2,C++11关于vector的新增特性有: 总结 一,什么是vector vector(向量)是一个封装了动态大小数组的顺序容器.能够存放各种类型的对象(注:一个容器中所有对象必须是同一种类型的)

  • Sql Server中Substring函数的用法实例解析

    SQL 中的 substring 函数是用来抓出一个栏位资料中的其中一部分.这个函数的名称在不同的资料库中不完全一样: MySQL: SUBSTR( ), SUBSTRING( ) Oracle: SUBSTR( ) SQL Server: SUBSTRING( ) SQL 中的 substring 函数是用来截取一个栏位资料中的其中一部分. 例如,我们需要将字符串'abdcsef'中的'abd'给提取出来,则可用substring 来实现: select substring('abdcsef'

  • JavaScript关联数组用法分析【概念、定义、遍历】

    本文实例讲述了JavaScript关联数组用法.分享给大家供大家参考,具体如下: 基本概念: "关联数组"是一种具有特殊索引方式的数组.不仅可以通过整数来索引它,还可以使用字符串或者其他类型的值(除了NULL)来索引它.关联数组的索引值是任意的标量,这些标量称为Keys,可以在以后用于检索数组中的数值.关联数组的元素没有特定的顺序. 关联数组长成什么样? 复制代码 代码如下: var defs = [W3C: "World Wide Web Consortium",

  • js console.log打印对像与数组用法详解

    本文实例讲述了js console.log打印对像与数组用法.分享给大家供大家参考,具体如下: console.log是什么东西,其实就是一个打印js数组和对像的函数而已,就像是php的print_r,var_dump.console.log这个函数本身没什么好说的,这篇博客告诉大家怎么去用这个函数.在说这个函数之前,我想大家用的最多查看js输出,是alert吧,但是alert,只能弹string或者是int的 一.测试文件test.html <html xmlns="http://www

  • PHP7常量数组用法分析

    本文实例讲述了PHP7常量数组用法.分享给大家供大家参考,具体如下: php7之前define只能是键值对,而php7里可以把数组加进define <?php /** * Created by PhpStorm. * User: bee * Date: 2016/4/23 * Time: 1:27 */ define('NAME',[ 'lig','bee','arr'=>array('ligbee'),array('lig','bee'),'w' ]); echo NAME[0]; echo

  • PHP入门教程之数组用法汇总(创建,删除,遍历,排序等)

    本文实例总结了PHP数组用法.分享给大家供大家参考,具体如下: Demo1.php <?php //创建一个数组变量 $userNames = array('张三','李四','王五'); //将这个数组打印出来 // echo $userNames;//Array // $userName = '张三'; // echo $userName;//张三 //如果你想打印出这个数组的某一个元素 //那你必须找到这个元素的下标,键(key) //0,1,2 //echo $userNames[2];

随机推荐