题目三:二维数组中的查找
Posted yzdai
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了题目三:二维数组中的查找相关的知识,希望对你有一定的参考价值。
//二位数组查找 题目描述
//在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。
//请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
bool FindNum(int target, vector<vector<int> > vect)
int iRow = vect.size();
int iCol = vect[0].size();
//从左上角开始遍历
int i = 0, j = iCol - 1;
while (i <= iRow - 1 && j >= 0) //保证数组不能越界
if (vect[i][j] > target)
j--;
else if (vect[i][j] < target)
i++;
else
return true;
return false;
int DoubleArrayTest()
//7, [[1, 2, 8, 9], [2, 4, 9, 12], [4, 7, 10, 13], [6, 8, 11, 15]]
int aiData[4][4] = 1, 2, 8, 9, 2, 4, 9, 12, 4, 7, 10, 13, 6, 8, 11, 15;
vector<vector<int>> res;
cout << "初始化二位数组: " << endl;
for (int i = 0; i < 4; i++)
vector<int> vect;
for (int j = 0; j < 4; j++)
vect.push_back(aiData[i][j]);
res.push_back(vect);
TraversalArray(res[i]);
if (FindNum(7, res))
cout << "true" << endl;
else
cout << "false" << endl;
return 0;
以上是关于题目三:二维数组中的查找的主要内容,如果未能解决你的问题,请参考以下文章