C++中的vector的详细用法

作者:JC2024.01.18 05:59浏览量:38

简介:本文将详细介绍C++中的vector容器,包括其基本用法、常用操作和性能优化建议。通过本文的学习,读者可以更好地理解和使用vector,提高编程效率。

在C++中,vector是一种动态数组,它可以随着元素的添加而自动扩展。与普通数组相比,vector提供了更多的功能和灵活性。下面我们将详细介绍vector的用法。
1. 创建和初始化
要创建一个vector,需要包含头文件,并使用vector命名空间或使用std::前缀。以下是创建和初始化vector的几种方式:

  1. // 默认构造函数创建一个空的vector
  2. std::vector<int> v1;
  3. // 使用初始值列表初始化vector
  4. std::vector<int> v2 = {1, 2, 3, 4, 5};
  5. // 使用其他容器(如数组)初始化vector
  6. int arr[] = {1, 2, 3, 4, 5};
  7. std::vector<int> v3(arr, arr + sizeof(arr) / sizeof(arr[0]));

2. 基本操作

  • 访问元素:可以使用下标运算符[]来访问vector中的元素。注意,下标从0开始。
    1. std::vector<int> v = {1, 2, 3, 4, 5};
    2. int x = v[2]; // x的值为3
  • 添加元素:可以使用push_back()函数向vector末尾添加元素。
    1. v.push_back(6); // v变为{1, 2, 3, 4, 5, 6}
  • 删除元素:可以使用erase()函数删除vector中的元素。
    1. v.erase(v.begin() + 2); // 删除第三个元素,v变为{1, 2, 4, 5, 6}
  • 修改元素:可以使用下标运算符[]来修改vector中的元素。
    1. v[2] = 7; // 将第三个元素修改为7,v变为{1, 2, 7, 4, 5, 6}
  • 获取大小:可以使用size()函数获取vector的大小。
    1. int s = v.size(); // s的值为6
  • 判断是否为空:可以使用empty()函数判断vector是否为空。
    1. bool isEmpty = v.empty(); // isEmpty的值为false
    3. 其他常用操作
  • 插入元素:可以使用insert()函数在指定位置插入元素。
  • 查找元素:可以使用find()函数查找元素的位置。
  • 遍历元素:可以使用迭代器或for循环遍历vector中的元素。
  • 排序:可以使用sort()函数对vector进行排序。
  • 反向遍历:可以使用rbegin()和rend()函数从尾部反向遍历vector中的元素。
  • 容量调整:可以使用reserve()和capacity()函数调整vector的容量。