杨氏矩阵 :有一个二维数组. 数组的每行从左到右是递增的,每列从上到下是递增的。编写程序,在这样的数组中查找一个数字是否存在

标签: C语言典型示例 杨氏矩阵 函数 二维数组
1人阅读 评论(0) 收藏 举报
分类:

杨氏矩阵 :有一个二维数组. 数组的每行从左到右是递增的,每列从上到下是递增的。编写程序,在这样的数组中查找一个数字是否存在


程序代码如下:



#include <stdio.h>
#define ROW 3
#define COL 4
int Find(int arr[ROW][COL], int *row, int *col, int n)
{
    *row = 0;
    *col = COL - 1;
    while ((*row < ROW) && (*col >= 0))
    {
        if (arr[*row][*col] > n)
        {
            (*col)--;
        }
        else if (arr[*row][*col] < n)
        {
            (*row)++;
        }
        else
            return 1;
    }
    return 0;
}
int main()
{
    int arr[ROW][COL] = {{1,2,3,4},{5,7,9,10},{21,37,46,98}};
    int input = 0;
    int row = 0;
    int col = 0;
    printf("请输入一个整数:");
    scanf("%d", &input);
    int ret = Find(arr, &row, &col, input);
    if (ret == 1)
    {
        printf("row = %d,col = %d\n",row,col);
    }
    else
    {
        printf("Not found\n");
    }
    return 0;
}

程序运行结果如下:


这里写图片描述

查看评论

有一个二维数组杨氏矩阵,数组的每行从左到右是递增的,每列从上到下是递增的,在这样的数组中查找一个数字是否存在

有一个二维数组杨氏矩阵,数组的每行从左到右是递增的,每列从上到下是递增的,在这样的数组中查找一个数字是否存在 #include #define ROW 4 #define COL 4 int Ya...
  • chenxucx
  • chenxucx
  • 2016-11-06 19:33:24
  • 615

有一个二维数组. 数组的每行从左到右是递增的,每列从上到下是递增的. 在这样的数组中查找一个数字是否存在。 时间复杂度小于O(N)

题目是这样的:有一个二维数组,数组的每行从左到右是递增的,每列从上到下是递增的. 在这样的数组中查找一个数字是否存在。要求:时间复杂度小于O(N); 在这里我说一下我解题的各种逻辑和方法。 ...
  • Quinn0918
  • Quinn0918
  • 2017-04-16 13:25:56
  • 823

2. 有一个二维数组.----杨氏矩阵 。数组的每行从左到右是递增的,每列从上到下是递增的. 在这样的数组中查找一个数字是否存在。 时间复杂度小于O(N);

//2. //有一个二维数组.----杨氏矩阵 //数组的每行从左到右是递增的,每列从上到下是递增的. //在这样的数组中查找一个数字是否存在。 //时间复杂度小于O(N); #include #in...
  • lizhidefengzi
  • lizhidefengzi
  • 2016-11-20 17:08:01
  • 599

有一个二维数组.----杨氏矩阵 数组的每行从左到右是递增的,每列从上到下是递增的. 在这样的数组中查找一个数字是否存在。 时间复杂度小于O(N);

int find_data(int arr[][5], int line, int k) { assert(arr); if ((karr[line - 1][4])) return 0; ...
  • lei19950206
  • lei19950206
  • 2017-05-07 22:54:41
  • 367

//杨氏矩阵 有一个二维数组. 数组的每行从左到右是递增的,每列从上到下是递增的. 在这样的数组中查找一个数字是否存在。 时间复杂度小于O(N);

//杨氏矩阵 有一个二维数组. 数组的每行从左到右是递增的,每列从上到下是递增的. 在这样的数组中查找一个数字是否存在。 时间复杂度小于O(N); 数组: 1 2 3 2 ...
  • weixin_40995778
  • weixin_40995778
  • 2018-01-17 16:45:15
  • 83

杨氏矩阵:有一个二维数组,数组的每行从左到右都是递增的,每列从上到下都是递增的,从这样的数组中查找一个数字是否存在

要求:时间复杂度小于O(N) 如: 1 2 3 4 5 6 7 8 9 在这个数组中找7,找到则返回1,没找到则返回0int Findnum(int arr[3][3], int key, ...
  • ChaseRaod
  • ChaseRaod
  • 2017-06-27 17:39:31
  • 491

//杨氏矩阵 有一个二维数组. 数组的每行从左到右是递增的,每列从上到下是递增的. 在这样的数组中查找一个数字是否存在。

#define _CRT_SECURE_NO_WARNINGS 1 #include #define ROW 4 #define COL 4 int Yang(int arr[ROW]...
  • qq_39947431
  • qq_39947431
  • 2017-10-29 17:28:13
  • 208

行列递增矩阵的查找(面试题)

行列递增矩阵的查找 题目描述 在一个m行n列的二维数组中,每一行都按照从左到右递增的顺序排列,每一列都按照从上到下递增的顺序排列。现输入这样的一个二维数组和一个整数,请完成一个...
  • liangzhaoyang1
  • liangzhaoyang1
  • 2016-04-03 10:36:52
  • 2519

在一个二维数组中,每一行都按照从左到右递增的顺序排列,每一列都按照从上到下递增的顺序排列,请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。

c++代码#include&amp;lt;iostream&amp;gt; #include&amp;lt;iomanip&amp;gt; using namespace std; void fi...
  • IT_job
  • IT_job
  • 2018-02-14 11:55:35
  • 80

C语言:【面试题】在二维数组中,每行每列都按照递增的顺序排序,判断数组中是否包含一个数。

#include #include #define ROW 3 #define COL 3 int Search_Target(int arr[], int x) {     int row = 0...
  • hanjing_1995
  • hanjing_1995
  • 2016-05-30 17:14:42
  • 827
    个人资料
    持之以恒
    等级:
    访问量: 813
    积分: 448
    排名: 10万+
    文章存档
    最新评论