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

原创 2016年05月30日 17:14:42
#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;
}

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

剑指offer面试题:二维数组中的查找,C语言实现

我是从九度OJ上面看到这个

day12之判断一棵二叉树是否是平衡二叉树+求一颗二叉树的镜像+判断一个数在二维数组中是否存在

判断一棵二叉树是否是平衡二叉树 struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right...

C语言 选择排序、折半查找法与二维数组

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 19.选择排序 for (int i = 0; i1; i++) {    ...

行、列递增的二维数组数字查找

二维数组四分查找问题: 一个二维数组,但行递增、单列递增,编写程序,在数组中查找某个数字(key),要求时间复杂度小于O(N)。 示例数组 1 3 4 2 4 5 4...

C/C++面试题(三) 推断二叉树、快速排序递归实现、递归判断数组递增

1、一棵二叉树前序序列为A B D E G C F H I 对称序列为DBGEACHFI则其后序列为?             DGEBHIFCA    ...

c语言 二维数组 源码

  • 2013-06-08 21:12
  • 513B
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)