C语言二维数组中的查找的实例
发布时间:2021-01-11 15:04:11 所属栏目:创业 来源:网络整理
导读:C说话二维数组中的查找的实例 标题描写:在一个二维数组中,每一行都凭证从左到右递增的次序排序,每一列都凭证从上到下递增的次序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判定数组中是否含有该整数 思绪描写:一个数字的下方和右方是比它
|
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 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] = %dn",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,7);
}
以上就是讲授C说话二维数组中的查找的实例,但愿能辅佐必要同范例题目的伴侣,感激阅读,但愿能辅佐到各人,感谢各人对本站的支持! (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |

