关于C++中vector结构的使用和它的使用函数

本文深入探讨了C++标准模板库(STL)中的Vector容器,包括其构造方式、常用操作函数如at()、back()、clear()、insert()、max_size()、push_back()、resize()和swap()等。此外,还介绍了Vector与数组类似的行为,以及其在不同场景下的时间复杂度。

这是来源于c++标准模板库STL中的一种顺序结构

关于顺序结构还有两种即:c++list  和  c++double-ended queues

Vectors 包含着一系列连续存储的元素,其行为和数组类似。访问Vector中的任意元素或从末尾添加元素都可以在常量级时间复杂度内完成,而查找特定值的元素所处的位置或是在Vector中插入元素则是线性时间复杂度

vectors相当于一种容器

C++ Vectors可以使用以下任意一种参数方式构造:

  • 无参数 - 构造一个空的vector,
  • 数量(num)和值(val) - 构造一个初始放入num个值为val的元素的Vector
  • vector(from) - 构造一个与vector from 相同的vector
  • 迭代器(start)和迭代器(end) - 构造一个初始值为[start,end)区间元素的Vector(注:半开区间).

 

 

再说几个常用的函数

V.at() 函数

返回当前Vector指定位置loc的元素的引用. at() 函数 比 [] 运算符更加安全, 因为它不会让你去访问到Vector内越界的元素.

v.at(i) 相对于v[i]更安全

back() 函数返回当前vector最末一个元素的引用

v.back() 

clear()函数删除当前vector中的所有元素.

 

v.empty()

清空所有

如果当前vector没有容纳任何元素,则empty()函数返回true,否则返回false.

 

 

v.insert函数

三种用法:

  • 在指定位置前插入值为val的元素,返回指向这个元素的迭代器,
  • 在指定位置前插入num个值为val的元素
  • 在指定位置前插入区间[start, end)的所有元素 .

 

max_size() 函数

返回当前vector所能容纳元素数量的最大值

 

v.push_back()函数

push_back()添加值为val的元素到当前vector末尾

 push_back( TYPE &val )

resize() 函数

改变当前vector的大小为size,且对新创建的元素赋值val

void resize( size_type size, TYPE val );

 

v.swap()函数

交换当前vector与vector from的元素

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值