有一个二维数组杨氏矩阵,数组的每行从左到右是递增的,每列从上到下是递增的,在这样的数组中查找一个数字是否存在
2016-11-06 19:33
447 查看
有一个二维数组杨氏矩阵,数组的每行从左到右是递增的,每列从上到下是递增的,在这样的数组中查找一个数字是否存在
#include <stdio.h>
#define ROW 4
#define COL 4
int Yang(int arr[ROW][COL],int val)
{
int i = 0;
int j = COL - 1;
int tmp = arr[i][j];
while(1)
{
if(tmp == val)
{
return 1;
}
else if(tmp < val && j >= 0)
{
tmp = arr[++i][j];
}
else if(tmp > val &&j >= 0)
{
tmp = arr[i][--j];
}
else
{
return 0;
}
}
}
int main()
{
int a[ROW][COL] = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};
int i = 0;
int j = 0;
int num;
printf("数组为:\n");
for(i = 0; i<ROW; i++)
{
for(j = 0; j < COL; j++)
{
printf("%5d",a[i][j]);
}
printf("\n");
}
printf("Please Enter:");
scanf("%d",&num);
if(Yang(a,num))
{
printf("%d在该数组中\n",num);
}
else
{
printf("%d不在该数组中\n",num);
}
return 0;
}
#include <stdio.h>
#define ROW 4
#define COL 4
int Yang(int arr[ROW][COL],int val)
{
int i = 0;
int j = COL - 1;
int tmp = arr[i][j];
while(1)
{
if(tmp == val)
{
return 1;
}
else if(tmp < val && j >= 0)
{
tmp = arr[++i][j];
}
else if(tmp > val &&j >= 0)
{
tmp = arr[i][--j];
}
else
{
return 0;
}
}
}
int main()
{
int a[ROW][COL] = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};
int i = 0;
int j = 0;
int num;
printf("数组为:\n");
for(i = 0; i<ROW; i++)
{
for(j = 0; j < COL; j++)
{
printf("%5d",a[i][j]);
}
printf("\n");
}
printf("Please Enter:");
scanf("%d",&num);
if(Yang(a,num))
{
printf("%d在该数组中\n",num);
}
else
{
printf("%d不在该数组中\n",num);
}
return 0;
}
相关文章推荐
- 有一个二维数组.----杨氏矩阵 数组的每行从左到右是递增的,每列从上到下是递增的. 在这样的数组中查找一个数字是否存在。 时间复杂度小于O(N);
- 杨氏矩阵 有一个二维数组. 数组的每行从左到右是递增的,每列从上到下是递增的. 在这样的数组中查找一个数字是否存在。
- 有一个二维数组. 数组的每行从左到右是递增的,每列从上到下是递增的. 在这样的数组中查找一个数字是否存在。 时间复杂度小于O(N);
- 有一个二维数组. 数组的每行从左到右是递增的,每列从上到下是递增的. 在这样的数组中查找一个数字是否存在。 时间复杂度小于O(N);
- //杨氏矩阵 有一个二维数组. 数组的每行从左到右是递增的,每列从上到下是递增的. 在这样的数组中查找一个数字是否存在。
- 2. 有一个二维数组.----杨氏矩阵 。数组的每行从左到右是递增的,每列从上到下是递增的. 在这样的数组中查找一个数字是否存在。 时间复杂度小于O(N);
- 有一个二维数组. 数组的每行从左到右是递增的,每列从上到下是递增的. 在这样的数组中查找一个数字是否存在。 时间复杂度小于O(N)
- 杨氏矩阵:有一个二维数组,数组的每行从左到右都是递增的,每列从上到下都是递增的,从这样的数组中查找一个数字是否存在
- //杨氏矩阵 有一个二维数组. 数组的每行从左到右是递增的,每列从上到下是递增的. 在这样的数组中查找一个数字是否存在。 时间复杂度小于O(N);
- 二维数组中的查找-在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
- 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
- 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
- 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数
- 在一个每一行从左到右递增每一列从上到下递增的二维数组中查找一个整数是否存在――3
- 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
- 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。 请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数
- 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请按成 一个函数,输入这样一个二维数组和一个整数,判断数组中是否含有该整数
- 【c语言】二维数组中的查找,杨氏矩阵在一个二维数组中,每行都按照从左到右的递增的顺序排序,输入这样的一个数组和一个数,判断数组中是否包含这个数
- 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
- 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。