C++向量 vector动态数组
需要包含头文件, #include <vector>
using namespace std;
vector 容器与数组相比其优点在于它能够根据需要随时自动调整自身的大小以便容下所要放入的元素
vector<int> arr; //创建一个可以容纳整数值的动态数组vector<int> a1(10); //声明一个初始大小为10的向量vector<int> a(10, 1); //声明一个初始大小为10且初始值都为1的向量vector<int> b(a); //声明并用向量a初始化向量bvector<int> b2=a; //声明并用向量a初始化向量b2vector<int> b1(a.begin(), a.begin() + 3); //将a向量中从第0个到第2个(共3个)作为向量b1的初始值vector<int> b3(a.begin(), a.end()); //将a向量中从第0个到最后一个作为向量b3的初始值int n[] = { 1, 2, 3, 4, 5 };vector<int> a2(n, n + 5); //将数组n的前5个元素作为向量a2的初值vector<int> a3(&n[1], &n[4]); //将n[1] - n[4]范围内的元素作为向量a3的初值;顾头不顾尾int x = a2[0];//返回指定序号的元素值x = a2.at(0);//返回指定序号的元素值x=a2.size(); //返回数组元素的总个数;0表示数组为空x= a2.front(); //返回数组的第一个元素的值x= a2.back(); //返回数组的最后一个元素的值a.clear(); //清空数组,即把里面的所有元素都删除vector<int>::iterator iter; //定义一个迭代器变量;可以理解成指针iter=a2.begin(); //返回数组第一个数的下标;返回值类型:迭代器a2.end(); //返回数组最后一个数的下标;返回值类型:迭代器bool bl= a2.empty(); //判断数组是否为空,如果为空则返回true,非空(有元素)则返回false//a2.swap(b); //两个动态数组的元素互换//swap(a2, b); //两个动态数组的元素互换a2.push_back(30); //在尾部插入一个元素a2.insert(a2.begin() + 1, 888); //在下标1的位置插入元素a2.insert(a2.begin() + 2, 3, 999); ////在下标2的位置插入3个元素a2.insert(a2.end() , 66); //在尾部插入一个元素a2.insert(a2.end(),2, 55); //在尾部插入n个元素int nn[] = { 15,25,35,45,55,65,75 };a2.insert(a2.end(), nn+1, nn+5); //插入普通数组中的元素//参数1 插入位置//参数2 普通数组的第1个元素开始//参数3 普通数组的第5个元素结束,顾头不顾尾a2.pop_back(); //删除动态数组的最后一个元素int k=0,l=1,r=1;a2.erase(a2.begin() + k); //删除动态数组的下标为 k 的元素,返回下一个位置的迭代器a2.erase(a2.begin() + l, a2.end() - r); //删除动态数组;从小标l开始,尾部留下r个//遍历方法一,使用索引下标来遍历for (int i=0;i<a2.size();i++){x = a2[i];}//遍历方法二,使用迭代器来遍历for (iter=a2.begin();iter!=a2.end();++iter){x = *iter;}
转载于:https://www.cnblogs.com/liming19680104/p/10628165.html
C++向量 vector动态数组相关推荐
- C++ vector动态数组
C++ vector动态数组 Vector投入是面向对象方式的动态数组 使用vector容器,可以轻松实现数组插入元素,vector可以轻松实现动态管理扩容 创建动态数组vector vector&l ...
- vector动态数组
vector是C++中的一种数据结构,确切的说是一个类,它相当于一个动态的数组,当程序员无法知道自己需要的数组长度多大时,使用vector可以达到最大节约空间的目的,也就是实现动态分配数组. 举例如下 ...
- C++ STL :vector动态数组可实现整体赋值
vector 是 STL 库中很常用的工具,可以理解为一个动态数组. vector可以实现整体赋值 普通的数组,比如 int 数组,只能通过索引一个元素一个元素的赋值,在有些情况下十分不便,但是今天在 ...
- vector 修改 java_java对vector动态数组中的对象排序,以下代码有何问题,如何修改?...
展开全部 package com.tx.collection; import java.util.Comparator; import java.util.Iterator; import java. ...
- cpp中vector动态数组(一种container)的简单用法
vector<int> num;for (int i=0; i<10; ++i)num.push_back(i);num.push_back(10);num.push_back(10 ...
- C++动态数组vector实现
最近在做将MATLAB代码转化为C/C++的工作,在实际应用时,发现动态数组非常重要,我在学习的时候也踩了许多坑,这篇就当做一篇踩坑笔记,希望读者能够绕开我踩过的坑,顺利应用动态数组. 1.静态数组. ...
- Rust学习教程32 - 动态数组Vec
本文节选自<<Rust语言圣经>>一书 欢迎大家加入Rust编程学院,一起学习交流: QQ群:1009730433 动态数组Vector 动态数组类型用Vec<T> ...
- 【IEEE_SV-7.5】动态数组Dynamic arrays
7.5 Dynamic arrays 动态数组是非合并数组,它的大小可以在仿真运行时可以被设置或改变.未初始化的动态数组大小是零.动态数组的大小是通过new构造函数或数组赋值设置.动态数组支持所有的数 ...
- vector 容器 动态数组总结
vector 容器 动态数组总结 二话不说直接上代码 #include <vector> #include <algorithm> #include <iostream& ...
最新文章
- BCH推出BCH粉丝互动平台
- 从零学React Native之13 持久化存储
- Fatal error: connect ECONNREFUSED Fatal error: socket hang up
- java.io.IOException: Attempted read from closed stream. 异常,解决
- 72 Zabbix邮件告警
- PHPStorm无法保存个人设置 ctrl左键无法找到类
- 三、gridView增删改查
- 牛客网编程题05--进制转换
- BadgerDAO锁仓量超过9亿美元
- P3 如何创建数据库数据表
- 注意了,这些数值计算的坑千万别踩!
- Study 7 —— CSS美化背景和边框
- aix系统服务器日志外发,AIX系统日志
- Qt QDir相关笔记
- 【转】关于ATSC制数字电视机顶盒的…
- 黑客们会用到哪些Python技术?
- 打造健康的程序员-饮食篇
- 验证码的java实现
- 【开发环境】 Ubuntu14.04 安装Skyeye 1.3.5过程
- java给图片加水印_java中怎么样将水印加在图片的上面或者下面