offer 二维数组查找

ぐ巨炮叔叔 提交于 2019-11-27 13:20:30
  • 二维数组查找:

(1)C语言实现方式:

测试用例:int AA[16]={1,2,8,9,2,4,9,12,4,7,10,13,6,8,11,15};
bool Find1(int * target, int rows,int colums,int number) //输入的行数和列数
{
 int row=0, colum=colums-1; //实时变化的  /下标

    if (target==NULL||rows<=0||colums<=0)//保持
    {
        return false;
    }

  while(row<rows&&colum>=0)
  {

   if(*(target+row*colums+colum)==number)   //退出循环的条件
   {
    return true;
   }
   else if(number< (*(target+row*colums+colum) ))  //注意这里二维数组  乘以colums 才对
   {
       colum--;
   }
   else
   {
        row++;
   }
  }

  return false;

}

 

C++实现方式:

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!