二维数组中的查找
发表于:2024-11-27 作者:热门IT资讯网编辑
编辑最后更新 2024年11月27日,题目描述:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组,判断数组中是否含有该整数。分析:直接给出最容易的解法根据这个
题目描述:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组,判断数组中是否含有该整数。
分析:直接给出最容易的解法
根据这个思想,可以写出如下代码:
// 二维数组matrix中,每一行都从左到右递增排序,// 每一列都从上到下递增排序bool Find(int* matrix, int rows, int columns, int number){ bool found = false; if(matrix != NULL && rows > 0 && columns > 0) { int row = 0; int column = columns - 1; while(row < rows && column >=0) { if(matrix[row * columns + column] == number) { found = true; break; } else if(matrix[row * columns + column] > number) -- column; else ++ row; } } return found;}