C语言二维数组中的查找的实例
发布时间 - 2026-01-11 02:22:47 点击率:次C语言二维数组中的查找的实例

题目描述:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数
思路描述:一个数字的下方和右方是比它本身大的区域,而左方和上方时比它本身小的区域。选取右上角的数字进行比较,当该数大于指定的数时,舍去该列,当该数小于指定的数时,舍去该行,当相等时,则表示找到
C语言实现:
#include<stdio.h>
#include<stdlib.h>
typedef unsigned int boolean;
#define MAX 4
#define TRUE 1
#define FALSE -1
void showAry(int ary[MAX][MAX]);
boolean find(int ary[MAX][MAX], int rows, int cols, int number);
void showAry(int ary[MAX][MAX]) {
int i = 0, j = 0;
for(; i < MAX; i++) {
j = 0;
for(; j < MAX; j++) {
printf("%d ", ary[i][j]);
}
}
}
boolean find(int ary[MAX][MAX], int rows, int cols, int number) {
int i = 0,
j = cols - 1,
n = 0;
boolean result = FALSE;
if(ary == NULL || rows <= 0 || cols <= 0) {
return result;
}
while(i < rows && j >= 0) {
n = ary[i][j];
if(number == n) {
printf("\nary[%d, %d] = %d\n", i, j, n);
result = TRUE;
break;
}else if(number < n) {
j -= 1;
}else if(number > n) {
i += 1;
}
}
return result;
}
//1 2 8 9 2 4 9 12 4 7 10 13 6 8 11 15
int main() {
int ary[MAX][MAX];
int i = 0, j = 0;
for(; i < MAX; i++) {
j = 0;
for(; j < MAX; j++) {
scanf("%d", &ary[i][j]);
}
}
showAry(ary);
find(ary, MAX, MAX, 7);
}
以上就是讲解C语言二维数组中的查找的实例,希望能帮助需要同类型问题的朋友,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
# C语言二维数组中的查找的实例
# 二维数组查找
# 关于C语言一维数组算法问题详解
# C语言一维数组初步学习笔记
# 关于C语言中的指针与二维数组
# C语言二维数组指针的概念及使用
# C语言与java语言中关于二维数组的区别
# 从头学习C语言之二维数组
# C语言面试C++二维数组中的查找示例
# C语言二维数组几种常用的表示方法
# C语言 指针与二维数组详解
# 直观理解C语言中指向一位数组与二维数组的指针
# C语言中的一维数组与二维数组的实现
# 组中
# 希望能
# 它本身
# 舍去
# 谢谢大家
# 从上到下
# 一个函数
# typedef
# unsigned
# gt
# stdlib
# MAX
# define
# int
# boolean
# stdio
# pre
# class
# strong
# 左到右
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel怎么集成Vue.js_Laravel Mix配置Vue开发环境
如何登录建站主机?访问步骤全解析
JavaScript如何实现路由_前端路由原理是什么
Laravel如何实现RSS订阅源功能_Laravel动态生成网站XML格式订阅内容【教程】
制作企业网站建设方案,怎样建设一个公司网站?
利用JavaScript实现拖拽改变元素大小
Android仿QQ列表左滑删除操作
Gemini手机端怎么发图片_Gemini手机端发图方法【步骤】
在centOS 7安装mysql 5.7的详细教程
Angular 表单中正确绑定输入值以确保提交与验证正常工作
laravel怎么在请求结束后执行任务(Terminable Middleware)_laravel Terminable Middleware请求结束任务执行方法
LinuxCD持续部署教程_自动发布与回滚机制
Win11怎么修改DNS服务器 Win11设置DNS加速网络【指南】
大型企业网站制作流程,做网站需要注册公司吗?
Laravel怎么导出Excel文件_Laravel Excel插件使用教程
Win11任务栏卡死怎么办 Windows11任务栏无反应解决方法【教程】
如何获取PHP WAP自助建站系统源码?
C#如何调用原生C++ COM对象详解
Laravel如何实现数据导出到CSV文件_Laravel原生流式输出大数据量CSV【方案】
如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?
javascript中的try catch异常捕获机制用法分析
移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?
Laravel Debugbar怎么安装_Laravel调试工具栏配置指南
JavaScript常见的五种数组去重的方式
HTML透明颜色代码怎么让图片透明_给img元素加透明色的技巧【方法】
如何快速搭建高效简练网站?
合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?
Laravel如何获取当前用户信息_Laravel Auth门面获取用户ID
Laravel怎么配置.env环境变量_Laravel生产环境敏感数据保护与读取【方法】
如何在 Python 中将列表项按字母顺序编号(a.、b.、c. …)
如何在Windows虚拟主机上快速搭建网站?
Laravel如何使用Service Provider服务提供者_Laravel依赖注入与容器绑定【深度】
宙斯浏览器视频悬浮窗怎么开启 边看视频边操作其他应用教程
Win11应用商店下载慢怎么办 Win11更改DNS提速下载【修复】
Laravel如何发送邮件_Laravel Mailables构建与发送邮件的简明教程
详解jQuery中的事件
Laravel如何与Docker(Sail)协同开发?(环境搭建教程)
如何解决hover在ie6中的兼容性问题
javascript中的数组方法有哪些_如何利用数组方法简化数据处理
javascript读取文本节点方法小结
北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?
如何快速搭建高效服务器建站系统?
如何在阿里云域名上完成建站全流程?
如何确认建站备案号应放置的具体位置?
Laravel如何实现API版本控制_Laravel版本化API设计方案
阿里云网站搭建费用解析:服务器价格与建站成本优化指南
laravel怎么实现图片的压缩和裁剪_laravel图片压缩与裁剪方法
西安专业网站制作公司有哪些,陕西省建行官方网站?
移动端脚本框架Hammer.js
Laravel如何实现邮件验证激活账户_Laravel内置MustVerifyEmail接口配置【步骤】

