第三题 二维数组中的查找

来源:互联网 发布:js pop 编辑:程序博客网 时间:2024/06/15 02:10

题目:在一个二维数组中,每一行都按照从左到右递增的顺序排列,每一列都按照从上到下递增的顺序排列。请完成这样一个函数,输入一个二维数组和一个整数,判断是否有该整数。

例如下面的例子:找到返回true,没找到返回false1    2    8    92    4    9    124    7    10   136    8    11   15
bool FindValue(int *arr,int rows,int columns,int number){    bool find = false;    if(arr != NULL && rows > 0 && columns > 0)    {        int row = 0;        int column = columns - 1;        while(row < rows && column >= 0)        {            if(arr[row*columns+column] > number)            {                column -= 1;            }            else if (arr[row*columns+column] == number)            {                find = true;                break;            }            else            {                row += 1;            }        }    }    return find;}