//二维数组的查询.
#include<stdio.h>
#define row 4
#define col 4
bool search(int buff[][col], int key)
{
int i = 0;
int j = col -1;
int var = buff[i][j];
while (true)
{
if (key == var)
return true;
else
if (var < key&&i<row-1)
var = buff[++i][col];
else if (var>key&&j>0)
var = buff[i][--j];
else
return false;
}
}
//测试程序:
int main()
{
int num;
int buff[row][col] = { { 1, 2, 3, 4 }, { 2, 3, 4, 5 }, { 3, 4, 5, 6 }, { 5, 6, 7, 10 } };
scanf_s("%d", &num);
if (search(buff, num))
printf("find it");
else
printf("Do not find");
return 0;
}
#include<stdio.h>
#define row 4
#define col 4
bool search(int buff[][col], int key)
{
int i = 0;
int j = col -1;
int var = buff[i][j];
while (true)
{
if (key == var)
return true;
else
if (var < key&&i<row-1)
var = buff[++i][col];
else if (var>key&&j>0)
var = buff[i][--j];
else
return false;
}
}
//测试程序:
int main()
{
int num;
int buff[row][col] = { { 1, 2, 3, 4 }, { 2, 3, 4, 5 }, { 3, 4, 5, 6 }, { 5, 6, 7, 10 } };
scanf_s("%d", &num);
if (search(buff, num))
printf("find it");
else
printf("Do not find");
return 0;
}