对于矢量>矩阵。, matrix.size()== 0和matrix [0]之间有什么不同.size()== 0?
bool searchMatrix(vector<vector<int> > &matrix, int target) {
int n = matrix.size();
if (n == 0) {
return false;
}
int m = matrix[0].size();
if (m == 0) {
return false;
}
答案 0 :(得分:0)
matrix.size()返回矩阵中 int 的向量; matrix [0] .size()返回向量矩阵中有多少 int [0]
答案 1 :(得分:0)
matrix
是vector<vector<int> >
或向量的向量。如果它是空的,则里面没有向量。
matrix[0]
是matrix
内的第一个向量。这是<vector<int>
。如果存在,matrix
不是真正的空,因为它包含一个元素。但如果它为空,则matrix
内没有有用的数据。
答案 2 :(得分:0)
此代码使用向量矢量模拟矩阵。它们使用两个向量作为列数和行数。有可能使用这样的矢量,但它不是一个非常好的主意IMO,因为没有什么可以防止你内部有不同大小的矢量。想象:
vector<vector<int>> matrix;
vector<int> row;
row.push_back(1);
matrix.push_back(row);
row.push_back(2);
row.push_back(3);
matrix.push_back(row);
cout << "matrix.size() = " << matrix.size() << endl;
cout << "matrix[0].size() = " << matrix[0].size() << endl;
cout << "matrix[1].size() = " << matrix[1].size() << endl;
cout << "matrix[2].size() = " << matrix[2].size() << endl;
这给出了:
matrix.size() = 2
matrix[0].size() = 1
matrix[1].size() = 3
matrix[2].size() = 25802
一些评论:
matrix.push_back()
row.push_back(1);
。