题目 在一个二维数组中,每一行从左到右递增,每一列从上到下递增。判断数组中是否含有某个数。
代码解决
#include<stdio.h>
int s[4][4] = {{1,2,8,9},
{2,4,9,12},
{4,7,10,13},
{6,8,11,15}};
void Find(int x){
int index=0,indey=3;
while(index <=3&&indey>=0){
if(s[index][indey] == x){
printf("Find %d in %d %d\n",x,index,indey);
return ;
}
else if(s[index][indey] > x) indey--;
else index++;
}
printf("Not find %d\n",x);
}
int main(){
int x = 7;
Find(x);
x = 0;
Find(x);
}
结果