当前位置:首页 C++ > 正文

C++标准库vector以及迭代器

作者:野牛程序员:2023-07-15 13:04:35 C++阅读 2739

C++标准库中的vector是一个动态数组容器,提供了类似于数组的功能,但具有动态大小调整的能力。它是通过模板类实现的,位于<vector>头文件中。

以下是关于vector和迭代器的一些基本信息和常见操作:

  1. 创建和初始化vector:可以使用默认构造函数创建一个空的vector,也可以在创建时指定初始大小和默认值。例如:

#include <vector>

// 创建一个空的vector
std::vector<int> myVector;

// 创建一个具有5个元素,初始值为0的vector
std::vector<int> myVector(5, 0);

// 使用初始化列表创建vector
std::vector<int> myVector = {1, 2, 3, 4, 5};;
  1. 添加和访问元素:可以使用push_back函数将元素添加到vector的末尾,也可以使用索引操作符[]at函数访问元素。例如:

std::vector<int> myVector;

myVector.push_back(10);
myVector.push_back(20);
myVector.push_back(30);

int firstElement = myVector[0];
int secondElement = myVector.at(1);
  1. 获取容器大小和遍历元素vector提供了size函数来获取容器中的元素数量。可以使用迭代器进行遍历。例如:

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

size_t size = myVector.size();

// 使用迭代器遍历vector
for (auto it = myVector.begin(); it != myVector.end(); ++it) {
    // 使用*操作符解引用迭代器获取元素值
    int element = *it;
    // 执行操作...
}
    int element = *it;    // 执行操作...}
  1. 插入和删除元素:可以使用insert函数在指定位置插入元素,使用erase函数删除指定位置或指定范围的元素。例如:

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

// 在第二个位置插入元素
myVector.insert(myVector.begin() + 1, 10);

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

// 删除第二到第四个元素
myVector.erase(myVector.begin() + 1, myVector.begin() + 4);
  1. 迭代器操作vector提供了多种迭代器,常用的有beginendrbeginrend,分别表示正向迭代器的起始、结束位置,以及反向迭代器的起始、结束位置。例如:

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

// 使用正向迭代器遍历vector
for (auto it = myVector.begin(); it != myVector.end(); ++it) {
    // 执行操作...
}

// 使用反向迭代器遍历vector
for (auto it = myVector.rbegin(); it != myVector.rend(); ++it) {
    // 执行操作...
}

这只是vector和迭代器的一些基本用法,还有其他更高级的操作和方法可以使用。


野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击