21xrx.com
2024-11-24 15:16:17 Sunday
登录
文章检索 我的文章 写文章
C++中vector的应用指南
2023-07-08 02:18:33 深夜i     --     --
C++ vector 应用 指南

在C++语言中,vector是一种非常实用的容器。它可以动态扩容,支持随机访问,易于维护和修改,能够轻松管理大量数据。本篇文章将指导读者如何正确地使用vector。

1. 声明和初始化

声明及初始化一个空vector很简单,只需在代码中加入如下语句:


std::vector<int> vec; // 声明一个int类型的vector,vec为空

如果需要在创建vector的时候给定初值,也可以这样写:


std::vector<int> vec = 1; // 声明并初始化vector

这里的{}就是初始化列表,用来初始化vector的元素。

2. 基本操作

接下来介绍一些vector的基本操作,如添加和删除元素、访问元素、查找元素等。

添加和删除元素:


vec.push_back(6); // 在vector末尾添加一个int类型的元素6

vec.pop_back(); // 删除最后一个元素

vec.insert(vec.begin(), 0); // 在vector开头插入一个int类型的元素0

vec.erase(vec.begin()); // 删除vector中的第一个元素

访问元素:


int value = vec[2]; // 访问vector中下标为2的元素

int value2 = vec.at(3); // 访问vector中下标为3的元素

int* p = &vec[4]; // 取得vector中下标为4的元素的地址

注意:在使用vector时,尽量不要使用下标访问元素,因为这种方式没有安全检测,可能会访问到越界的元素。建议使用at()函数来获取vector中某个元素的值。如果必须使用下标访问元素,请务必保证下标值在vector的有效范围内。

查找元素:


auto it = find(vec.begin(), vec.end(), 3); // 查找vector中第一个值为3的元素

if (it != vec.end()) { // 找到了

  std::cout << *it << std::endl; // 输出结果:3

} else // 没找到

  std::cout << "not found" << std::endl;

这里使用了STL中的find()函数来查找指定元素。需要注意的是,find()函数返回的是一个迭代器,如果找到了指定的元素,则返回该元素的迭代器;如果没找到,则返回vector的尾迭代器,即end()。

3. 遍历vector

遍历vector有多种方式,如使用for循环、使用范围for循环、使用迭代器等。

使用for循环:


for (int i = 0; i < vec.size(); i++) {

  std::cout << vec[i] << " "; // 依次输出vector中的元素

}

std::cout << std::endl;

使用范围for循环:


for (auto x : vec)

  std::cout << x << " "; // 依次输出vector中的元素

std::cout << std::endl;

使用迭代器:


for (auto it = vec.begin(); it != vec.end(); it++) {

  std::cout << *it << " "; // 依次输出vector中的元素

}

std::cout << std::endl;

这里使用了auto关键字,可以自动推断变量的类型,非常方便。

4. 总结

vector是C++中经典的STL容器之一,它具有动态扩容、支持随机访问等优点,是存储大量数据的最佳选择。本文介绍了C++中使用vector的基本操作,如声明和初始化、添加和删除元素、访问元素、查找元素以及遍历vector等,帮助读者理解vector的操作方法,在实际编程中更好地应用vector。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复