二维vector中读入数据
作者:
码上成功
,
2024-03-08 17:43:27
,
所有人可见
,
阅读 26
在C++中,你可以使用嵌套的std::vector来表示二维数组,并使用嵌套的循环来读入数据。以下是一个示例,演示了如何向二维std::vector中读入数据:
#include <iostream>
#include <vector>
int main() {
// 定义一个二维vector
std::vector<std::vector<int>> matrix;
// 输入行数和列数
int rows, cols;
std::cout << "请输入行数和列数: ";
std::cin >> rows >> cols;
// 读入二维vector的数据
for (int i = 0; i < rows; ++i) {
// 临时vector用于存储当前行的数据
std::vector<int> row;
for (int j = 0; j < cols; ++j) {
int value;
std::cout << "请输入第 " << i + 1 << " 行,第 " << j + 1 << " 列的元素: ";
std::cin >> value;
// 将元素添加到当前行的vector中
row.push_back(value);
}
// 将当前行的vector添加到二维vector中
matrix.push_back(row);
}
// 输出二维vector的内容
std::cout << "输入的二维vector为:" << std::endl;
for (const auto& row : matrix) {
for (int value : row) {
std::cout << value << " ";
}
std::cout << std::endl;
}
return 0;
}
在这个示例中,用户首先输入行数和列数,然后通过嵌套循环读入每个元素的值,并将其添加到相应的行。最后,将每一行添加到二维std::vector中,完成二维向量的输入。
请注意,这里使用了嵌套的循环和嵌套的std::vector,使得代码更加清晰,并且可以方便地处理不规则的二维数组。
二维排序(对一二位调用sort()后,对二维排序)
bool cmp(vector<int> a,vector<int> b)
{
for(int i=0;i<a.size();i++)
{
if(a[i]<b[i]) return true;
}
return false;
}