关闭

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

280人阅读 评论(0) 收藏 举报
分类:
#include<stdio.h>
#include<stdlib.h>
#define ROW 3
#define COL 3

int Search_Target(int arr[], int x)
{
    int row = 0;
    int col = COL - 1;
    if (arr != NULL && ROW > 0 && COL > 0)
    {
    
        while (row < ROW && col >= 0)
        {
            if (arr[row * COL + col] > x)
            {
                col--;
            }
            else if (arr[row * COL + col] < x)
            {
                row++;
            }
            else
            {
                return 1;
            }
        }
        return -1;

    }
    return -1;
    
}



int main()
{
    int arr[ROW][COL] = { { 0, 1, 2 }, { 3, 4, 6 }, { 7, 8, 9 } };
    int ret = Search_Target(arr, 0);
    
    if (ret == 1)            
    {
        printf("Search Success\n");
    }
    else if (ret == -1)
    {
        printf("Search Failure\n");
    }
    system("pause");
    return 0;
}

 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:50086次
    • 积分:614
    • 等级:
    • 排名:千里之外
    • 原创:174篇
    • 转载:9篇
    • 译文:0篇
    • 评论:2条
    关于博主
    github:https://github.com/hanxiaojing Email: hanjing_1995@163.com 原51.cto: http://10740184.blog.51cto.com 欢迎来访~
    文章分类
    最新评论