栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++:模板类vector

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++:模板类vector

 模板类vector是一个动态数组,类似于string类,可存放任意类型,能够末尾、中间增加数据,基本上是是new创建动态数组的替代品,vector可以自动完成new和delete。

头文件

#include

vector包含在名称空间std中

using namespace std;

使用不同的语法指出它存储的数据类型

vector nums; //创建一个空整型数组

使用不同的语法指定元素数

vector nums[n]; //创建一个大小为n的整型数组(n可以是变量也可以是常量)

vector nums(n, 1);  //设置arr大小为n,将数组中所有元素初始化为1

Vector作为函数的参数或者返回值时,需要注意它的写法:

double Distance(vector&a, vector&b)   其中的“&”绝对不能少

添加元素

nums.push_back(1);//直接从数组末端添加
nums[i] = 1;//直接赋值给第i个位置

删除元素

nums.resize(nums.size-i); //直接将数组长度减小,某种方式上删掉了后面i个
nums.pop_back();//删掉最后一个元素

获得长度

nums.size()

重设数组长度

nums.resize();

排序(O(nlogn))

sort(nums.begin(),nums.end());

翻转

reverse(nums.begin(), nums.end());

数组中所有元素求和

accumulate(nums.begin(), nums.end(), n);  //n是求和的初值

合并两个vector:合并nums1和nums2,并将合并后的赋值数组给nums

vector nums1(m),nums2(n);
vector nums;
nums.resize(m+n);
merge(nums1.begin(), nums1.end(),nums2.begin(),nums2.end(),nums);

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/853200.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号