在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
#include<stdio.h>
#define R 4
#define L 3
int Find(int arr[R][L], int k)
{
int i = 0;
int j = L-1;
while (i != R)
{
while (j != -1)
{
if (k > arr[i][j])
{
i++;
break;
}
if (k < arr[i][j])
{
j--;
break;
}
else
return arr[i][j];
}
}
return 0;
}
int main()
{
int arr[R][L] = { { 1,2,3 },
{ 4,5,6 },
{ 7,8,9 },
{ 10,11,12 } };
int find = Find(arr, 19);
printf("%d\n", find);
system("pause");
return 0;
}