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

例如:
输入二维数组:
1 2 8 9
2 4 9 12
4 7 10 13
6 8 11 15

  1. 查找数字7,返回true;
  2. 查找数字5,返回false;
#include<stdio.h>#define rows 4
#define columns 4#define true 1
#define false 0//核心功能函数
int find(int *a, int rs, int cs, int number) {if ((a == NULL) || (rs < 0) || (cs < 0))return false;int row = 0;int col = cs - 1;while ((row < rs) && (col >= 0)) {if (a[row * cs + col] == number) {return  true;}else if (a[row * cs + col] > number) {col--;}elserow++; }return false;
}
//查找数字7
void test1() {int a[rows * columns] = {1,2,8,9,2,4,9,12,4,7,10,13,6,8,11,15};int count = find(a, rows, columns, 7);if (count == 0)printf("not find!\n");elseprintf("sucess!\n");
}
//查找数字5
void test2() {int a[rows * columns] = { 1,2,8,9,2,4,9,12,4,7,10,13,6,8,11,15 };int count = find(a, rows, columns, 5);if (count == 0)printf("not find!\n");elseprintf("sucess!\n");
}
//指针指向空
void test3() {int a[rows * columns];int count = find(NULL, rows, columns, 5);if (count == 0)printf("not find!\n");elseprintf("sucess!\n");
}int main() {test1();test2();test3();return 0;
}

运行结果:

C语言:二维数组中的查找相关推荐

  1. c语言统计二维数组中数字出现次数,C语言二维数组中的查找的实例

    C语言二维数组中的查找的实例 题目描述:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该 ...

  2. 二维数组中的查找(杨氏矩阵(C语言+Java))

    二维数组中的查找这道题,出自 <剑指Offer>.也是著名的杨氏矩阵 在一个 n *m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的.输入一个数,判断矩阵中 ...

  3. c语言二维数组中的周边,【C语言】二维数组中的查找,杨氏矩阵

    //二维数组中的查找,杨氏矩阵 //在一个二维数组中,每行都依照从左到右的递增的顺序排序.每列都依照从上到下递增的顺序排序. //请完毕一个函数.输入这种一个数组和一个数,推断数组中是否包括这个数. ...

  4. python 二维数组长度_剑指offer二维数组中的查找【Java+Python】

    点击上方"蓝字",关注了解更多 二维数组中的查找 1. 题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序 ...

  5. 剑指offer:面试题04. 二维数组中的查找

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

  6. php查找二维数组下标,PHP实现二维数组中的查找算法小结

    本文实例讲述了PHP实现二维数组中的查找算法.分享给大家供大家参考,具体如下: 方法1:silu从左下角最后一行的第一个元素开始,遍历.如果小于target 则遍历该行的所有元素,找到结束.如果大于继 ...

  7. [剑指Offer]5.二维数组中的查找

    题目 在一个二维数组中,每一行都依照从左到右递增的顺序排序,每一列都依照从上到下递增的顺序排序.请完毕一个函数,输入这种一个二维数组和一个整数.推断数组中是否含有该整数. 思路 [算法系列之三十三]杨 ...

  8. 剑指Offer面试题:2.二维数组中的查找

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

  9. 算法题001 剑指Offer 面试题三:二维数组中的查找

    剑指Offer题目1:二维数组中的查找 题目描述: http://ac.jobdu.com/problem.php?cid=1039&pid=0 在一个二维数组中,每一行都按照从左到右递增的顺 ...

  10. LeetCode-剑指 Offer 04. 二维数组中的查找

    剑指 Offer 04. 二维数组中的查找 思路一:暴力解法,两层for循环查找 时间复杂度为:O(nm) 空间复杂度为:O(1) class Solution {public:bool findNu ...

最新文章

  1. Freescale 基于IMX536处理器的Dialog DA9053电源管理参考设计
  2. UIDatePicker | 时间选择器
  3. oracle数据字典表与视图
  4. 成功部署SD-WAN策略应注意的几个事项—Vecloud微云
  5. Android HttpClient GET或者POST请求基本使用方法
  6. Spring boot (5):Spring data jpa 的使用
  7. java.io.IOException: Could not find my address
  8. java8 comparator接口_Java8 Comparator 排序方法
  9. 树莓派桌面没有时间_树莓派3B/3B+开启手机远程桌面和终端,没有屏幕和电脑的伙伴们有福啦!...
  10. 微信和QQ,终于可以互通了
  11. myecplise 完全开发
  12. HDU 1195 Open the Lock BFS
  13. 奥本大学计算机专业GRE成绩,美国大学GRE分数要求汇总贴,你的目标学校要求多少分?...
  14. 抽空写了个小游戏(未完待续)
  15. 大禹电子:超声波水下通讯设备测试结论
  16. pdf转json_如何显著缩小PDF文件大小?
  17. linux CentOS7虚拟机修改静态ip地址
  18. 手速最快的是电竞选手?错了,是程序员
  19. 多模态情感分析的研究现状
  20. 【蓝桥杯省赛真题9】Scratch猫捉老鼠 少儿编程scratch蓝桥杯省赛真题讲解

热门文章

  1. 大连哪里可以学python_大连Python编程-全套系统班
  2. 服务器运维基础知识,IDC机房服务器运维基础知识
  3. 银行可以应用什么技术,进行反欺诈风险管控?
  4. IP属地显示后谁慌了;数字人民币破解预付费陷阱;格力推出二期员工持股计划;比尔盖茨不用自家手机;
  5. 拆分pdf用什么软件?什么软件可以拆分pdf?pdf拆分成多个文件的软件?
  6. 【无标题】有一个小问题,望不吝赐教
  7. 加速扩张中的喜茶、奈雪们,为其它品牌提供了怎样的私域启示
  8. WebService系列之Axis Https(SSL)证书校验错误处理方法
  9. 让优秀成为一种习惯!
  10. 想学习如何把excel图片转表格?1分钟教会你图片转表格怎么转