1、c++ 中 vector
vector
有两个参数,一个是size
,表示当前vector
容器内存储的元素个数,一个是capacity
,表示当前vector在内存中申请的这片区域所能容纳的元素个数。
capacity
会随着你的使用vector
内置函数而动态变化.
通常capacity
会比size大,如果往vector
中push_back
数据,这样就不用重新申请内存和拷贝元素到新内存区域了,便于节省时间。
vector
之间可以之间赋值或者作为函数的返回值
2、初始化
与数组的初始化一样
1
|
vector< int > a = {11,2,3}; |
3、常用函数
1
2
3
4
5
6
7
8
|
#include <vector> #include <iostream> using namespace std; int main() { vector< int > vec; } |
多维的 vector
用法与多维的 string
一样。
在尾部添加元素:push_back
(要添加的元素)
1
|
vec.push_back(3); |
说明:把数字3加到vec的末尾。
注意:vector
类型的变量要想增加元素,只能用push_back()
函数
1
2
|
for ( int i = 0;i<vec.size();i++) vec.push_back(i); |
说明:将vec中的元素依次赋值为0 1 2 3 4 .......
在尾部删除元素:pop_back(空)
1
|
vec.pop_back(); |
说明:删除容器内的最后一个元素,容器的size
减1。
之后仍然能通过push_back()
来在尾部增加元素
因为pop_back()
不会减小capacity
.
读取长度:size(空)
1
|
int len = vec.size(); |
说明:将vec
的长度(也就是其中的元素的个数)赋给len
改变大小: resize
(改变后的长度,(用哪个元素补全))
假设此时vec
的长度为4
1
2
|
vec.resize(2); // 将vec的长度变为2,(注意vec是从0开始编号,因此此时vec的最后一个元素为vec[1]),vec[2:n]均被舍弃 vec.resize(6,3); // 将vec的长度变为6,此时vec[4:5] 均被赋值为3 |
且,resize
函数只能对vec
的size
进行减小,而不能使得capacity
减小
清空:clear()
1
|
vec.clear(); |
说明:把size
设置成0,capacity
不变。
检测是否为空 :empty()
1
2
3
4
|
if (vec.empty()) cout<< "empty" ; else cout << "full" ; |
说明:对于 empty()
函数,如果为空,则返回 true
,如果非空,则返回 false
到此这篇关于c++ 中vector 常见用法的文章就介绍到这了,更多相关c++ 中的vector 内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!
原文链接:https://www.cnblogs.com/hi-wind/p/15574152.html