c++ 中vector 常见用法

时间:2022-06-14 04:17:43

1、c++ 中 vector

vector有两个参数,一个是size,表示当前vector容器内存储的元素个数,一个是capacity,表示当前vector在内存中申请的这片区域所能容纳的元素个数。

capacity会随着你的使用vector内置函数而动态变化.

通常capacity会比size大,如果往vectorpush_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函数只能对vecsize进行减小,而不能使得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