前言
一、查
在C++中,使用vector进行查找操作可以分为两类:输出全部和输出单个元素。下面将详细介绍这些操作及其示例代码。
1.1 输出全部
迭代器
使用迭代器可以遍历vector中的所有元素并进行输出。
示例代码:
#include <iostream> #include <vector> int main() { std::vector<int> vec = {1, 2, 3, 4, 5}; // 使用迭代器进行输出 for (std::vector<int>::iterator it = vec.begin(); it != vec.end(); ++it) { std::cout << *it << " "; } return 0; }
下标运算
使用下标运算符可以通过索引访问vector中的元素并进行输出。
示例代码:
#include <iostream> #include <vector> int main() { std::vector<int> vec = {1, 2, 3, 4, 5}; // 使用下标运算符进行输出 for (int i = 0; i < vec.size(); ++i) { std::cout << vec[i] << " "; } return 0; }
for_each函数
使用for_each函数可以对vector中的每个元素执行相同的操作进行输出。
示例代码:
#include <iostream> #include <vector> #include <algorithm> void printElement(int element) { std::cout << element << " "; } int main() { std::vector<int> vec = {1, 2, 3, 4, 5}; // 使用for_each函数进行输出 std::for_each(vec.begin(), vec.end(), printElement); return 0; }
1.2 输出单个元素
at()函数
使用at()函数可以通过索引访问vector中的单个元素并进行输出。at()函数提供了边界检查,可以确保索引在有效范围内。
示例代码:
#include <iostream> #include <vector> int main() { std::vector<int> vec = {1, 2, 3, 4, 5}; // 输出第三个元素 std::cout << vec.at(2) << std::endl; return 0; }
[] 下标运算
使用[]下标运算符同样可以通过索引访问vector中的单个元素并进行输出。但是,与at()函数不同的是,使用[]下标运算符时不会进行边界检查,因此请确保索引在有效范围内。
示例代码:
#include <iostream> #include <vector> int main() { std::vector<int> vec = {1, 2, 3, 4, 5}; // 输出第三个元素 std::cout << vec[2] << std::endl; return 0; }
back()函数
使用back()函数可以获取vector中的最后一个元素并进行输出。
示例代码:
#include <iostream> #include <vector> int main() { std::vector<int> vec = {1, 2, 3, 4, 5}; // 输出最后一个元素 std::cout << vec.back() << std::endl; return 0; }
以上是使用vector进行查找操作的示例代码,它们可以帮助您了解如何使用不同的方法来输出全部或单个元素。请根据实际需求选择适合的方法。
二、改
assign函数
1、void assign( input_iterator start, input_iterator end );
功能:将vector中的元素替换为使用迭代器范围内的元素。
参数:start是指向输入范围起始位置的迭代器,end是指向输入范围末尾位置的迭代器。
返回值:无。
示例代码:
#include <iostream> #include <vector> #include <iterator> int main() { std::vector<int> vec = {1, 2, 3}; std::vector<int> newElements = {4, 5, 6}; vec.assign(newElements.begin(), newElements.end()); // 输出vector中的元素 for (int num : vec) { std::cout << num << " "; } return 0; }
输出结果:4 5 6
2、void assign( size_type num, const T &val );
功能:将vector中的元素替换为指定数量的相同值。
参数:num是要生成的元素数量,val是要分配给每个元素的值。
返回值:无。
示例代码:
#include <iostream> #include <vector> int main() { std::vector<int> vec = {1, 2, 3}; vec.assign(4, 0); // 输出vector中的元素 for (int num : vec) { std::cout << num << " "; } return 0; }
输出结果:0 0 0 0
三、交换
swap函数
1、 void swap( vector &from );
功能:交换两个vector的内容。
参数:from是另一个vector,将与当前vector互换元素。
返回值:无。
示例代码:
#include <iostream> #include <vector> int main() { std::vector<int> vec1 = {1, 2, 3}; std::vector<int> vec2 = {4, 5, 6}; vec1.swap(vec2); // 输出交换后的vector中的元素 std::cout << "vec1: "; for (int num : vec1) { std::cout << num << " "; } std::cout << std::endl; std::cout << "vec2: "; for (int num : vec2) { std::cout << num << " "; } return 0; }
输出结果:
vec1: 4 5 6 vec2: 1 2 3
总结
在本文中,我们讨论了如何使用vector进行查找和修改操作。我们介绍了使用循环和迭代器进行遍历,使用下标运算符和for_each函数输出全部元素的方法。我们还了解了如何使用at()函数进行边界检查和使用back()函数获取最后一个元素。这些方法可以帮助您有效地操作和管理vector中的数据。Vector是C++ STL中的一个重要容器,掌握它的基本用法对于开发高效的C++程序非常关键。
希望本文对您理解vector的基本操作和使用有所帮助。祝您在使用C++编程时取得更多的成功!