剑指offer面试题三:

剑指offer面试题3  二维数组中的查找(c)-LMLPHP

关键在于这个二维数组比较特殊,都是按照排序后的摆放,因而在查找时可以采取从右上角开始一层层的剥离,节省查找时间

代码如下:

 #include<stdio.h>
 #define True 1
 #define False 0
 /**
 *二维数组找到
 */
 int Findnum(int *matrix,int rows,int colums,int findnum){
     int findflag = False;
          && colums>){
             //俩个辅助变量
             ;
             ;
             //开始找数字的循环
             ){
                 if(matrix[row*colums+colum] == findnum){
                     findflag = True;
                     break;
                 }
                 else  if(matrix[row*colums+colum] > findnum)
                         colum--;
                 else
                         row++;
             }
         }
     return findflag;
 }
 void  main(void){
     ] = {{, , , }, {, , , }, {, , , }, {, , , }};
     int flag;
     flag = Findnum((,,);
     if(flag){
         printf("Find");
     }
     else
         printf("Not Find");

 }
04-02 02:33