C++中的向量
在C++中,向量是一个序列容器,它在一个连续的内存块中存储相同类型的元素。向量中的每个元素都被分配一个数字索引,用来访问该元素。向量与数组相似,但它们的优点是能够动态地增长和缩小尺寸。这意味着我们可以从一个向量中添加和删除元素,而不必事先指定向量的大小。
C++中的向量对
矢量对是一对用于存储相关数据的两个矢量。例如,可以用一个向量对来存储二维空间中一个点的x
和y
坐标。矢量对中的第一个矢量将包含x
坐标,第二个矢量将包含相应的y
坐标。
要在C++中使用向量对,必须在代码中包括<vector>
和<utility>
头文件。<utility>
头提供了std::pair
类,用于创建向量对。
C++中的向量对语法:
pair<std::vector<data_type>, std::vector<data_type>> Variable;
示例1: 下面是一个简单的程序,演示如何在C++中使用向量:
#include <iostream>
#include <vector>
using namespace std;
int main() {
// Create a vector of integers
vector<int> v = {10, 20, 30, 40, 50};
// Print the elements of the vector
for (int i = 0; i < v.size(); i++) {
cout << v[i] << " ";
}
cout << std::endl;
// Add a new element to the vector
v.push_back(60);
// Print the elements of the vector again
for (int i = 0; i < v.size(); i++) {
cout << v[i] << " ";
}
cout << std::endl;
return 0;
}
运行结果:
上面的代码是用来演示c++中的向量。在这段代码中,创建了一个整数向量,并添加了一些初始值。然后打印了该向量的元素,向该向量添加了一个新元素,并再次打印了该向量的元素,以显示该向量的大小已经增加。
例子2:下面是一个如何在C++中使用向量对的例子。
#include <iostream>
#include <vector>
using namespace std;
int main() {
// Create a vector pair
spai<std::vector<int>, std::vector<int>> vp;
// Add some x and y coordinates to the vector pair
vp.first.push_back(10);
vp.first.push_back(20);
vp.first.push_back(30);
vp.second.push_back(15);
vp.second.push_back(25);
vp.second.push_back(35);
// Print the x and y coordinates
for (int i = 0; i < vp.first.size(); i++) {
cout << "(" << vp.first[i] << ", " << vp.second[i] << ")" << std::endl;
}
return 0;
}
运行结果:
上面的代码是用来演示c++中的向量对。在这段代码中创建了一个矢量对并添加了x和y坐标。然后将坐标打印到控制台。注意,x
和y
坐标被存储在不同的向量中,使用向量对的第一和第二成员进行访问。一旦创建了向量对,就可以使用从std::vector
类继承的push_back()
方法向向量对中的各个向量添加元素。在这个例子中,给对中的第一个向量添加了三个x坐标,给对中的第二个向量添加了三个y
坐标。
矢量对对于在C++中存储和操作相关数据非常有用。它们可以在许多应用中使用,从简单的几何问题到更复杂的数据结构和算法。
示例3:
#include <iostream>
#include <vector>
#include <utility>
#include <string>
int main() {
// Create a vector pair to store the names and ages of a group of people
std::pair<std::vector<std::string>, std::vector<int>> vp;
// Add some names and ages to the vector pair
vp.first.push_back("userA");
vp.first.push_back("userB");
vp.first.push_back("UserC");
vp.second.push_back(34);
vp.second.push_back(35);
vp.second.push_back(30);
// Print the names and ages of the people
for (int i = 0; i < vp.first.size(); i++) {
std::cout << vp.first[i] << " is " << vp.second[i] << " years old." << std::endl;
}
return 0;
}
运行结果:
userA is 34 years old.
userB is 35 years old.
UserC is 36 years old.
上面的代码是为了演示 c++ 中的向量对而编写的。在此代码中,创建了一个向量对来存储一组人的姓名和年龄。将名称和年龄添加到向量对并打印出来。创建向量对后,可以使用 push_back()
方法将元素添加到向量对中的各个向量中,该方法继承自 std::vector
类。在此示例中将三个 x 坐标添加到该对中的第一个向量,将三个 y 坐标添加到该对中的第二个向量。最后,迭代向量对的元素并打印点的坐标。为了访问向量对的元素,使用 std::pair
类的第一个和第二个成员。这些成员分别引用对中的第一个和第二个向量。然后,可以使用通常的索引语法来访问向量的各个元素。