C++ vector

C++ vector 容器简介

vector 是 C++ 标准库中的一个序列容器,它封装了动态大小数组的实现。vector 可以存储任意类型的元素,并且能够根据需要动态地调整大小。它支持在序列的末尾高效地添加或删除元素。

包含头文件

在使用 vector 之前,需要包含头文件 <vector>

#include <vector>

创建 vector

创建 vector 的基本语法如下:

std::vector<元素类型> 变量名;

或者在创建时初始化:

std::vector<int> vec = {1, 2, 3, 4, 5};

访问元素

可以通过下标操作符 [] 访问 vector 中的元素:

int value = vec[2]; // 访问第三个元素

或者使用 at() 方法,它在访问越界时会抛出异常:

int value = vec.at(2); // 访问第三个元素

添加元素

可以使用 push_back() 方法在 vector 的末尾添加元素:

vec.push_back(6);

也可以使用 emplace_back() 方法,它直接在容器中构造元素:

vec.emplace_back(7); // 使用初始化列表构造

删除元素

可以使用 pop_back() 方法删除 vector 最后一个元素:

vec.pop_back();

或者使用 erase() 方法删除指定位置的元素:

vec.erase(vec.begin() + 2); // 删除第三个元素

遍历 vector

可以使用迭代器遍历 vector

for (std::vector<int>::iterator it = vec.begin(); it != vec.end(); ++it) {
    std::cout << *it << " ";
}

或者使用范围基的 for 循环(C++11 引入):

for (int val : vec) {
    std::cout << val << " ";
}

容量和大小

  • size() 方法返回 vector 中元素的数量。
  • capacity() 方法返回 vector 能够容纳的元素数量而无需重新分配内存。
std::cout << "Size: " << vec.size() << ", Capacity: " << vec.capacity() << std::endl;

清空 vector

可以使用 clear() 方法清空 vector

vec.clear();

其他常用方法

  • resize():改变 vector 的大小。
  • empty():检查 vector 是否为空。
  • front()back():分别访问第一个和最后一个元素。

示例代码

#include <iostream>
#include <vector>

int main() {
    std::vector<int> vec = {1, 2, 3, 4, 5};

    // 添加元素
    vec.push_back(6);
    vec.emplace_back(7);

    // 删除元素
    vec.pop_back();
    vec.erase(vec.begin() + 1);

    // 遍历
    for (int val : vec) {
        std::cout << val << " ";
    }
    std::cout << std::endl;

    // 容量和大小
    std::cout << "Size: " << vec.size() << ", Capacity: " << vec.capacity() << std::endl;

    return 0;
}

这个示例展示了 vector 的一些基本操作,包括创建、添加、删除元素,以及遍历和获取容量和大小。vector 是 C++ 中非常强大和灵活的容器,适用于需要动态数组的场景。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值