二维vector中读入数据
作者:
码上成功
,
2024-03-08 17:43:27
,
所有人可见
,
阅读 28
在C++中,你可以使用嵌套的std::vector来表示二维数组,并使用嵌套的循环来读入数据。以下是一个示例,演示了如何向二维std::vector中读入数据:
#include <iostream>
#include <vector>
int main() {
std::vector<std::vector<int>> matrix;
int rows, cols;
std::cout << "请输入行数和列数: ";
std::cin >> rows >> cols;
for (int i = 0; i < rows; ++i) {
std::vector<int> row;
for (int j = 0; j < cols; ++j) {
int value;
std::cout << "请输入第 " << i + 1 << " 行,第 " << j + 1 << " 列的元素: ";
std::cin >> value;
row.push_back(value);
}
matrix.push_back(row);
}
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;
}