文章目录
- 前言
- 一、查
- 1.1 输出全部
- 迭代器
- 下标运算
- for_each函数
- 1.2 输出单个元素
- at()函数
- [] 下标运算
- back()函数
- 二、改
- assign函数
- 三、交换
- swap函数
- 总结
前言
一、查
在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++编程时取得更多的成功!