【c语言】二维数组中的查找,杨氏矩阵在一个二维数组中,每行都依照从左到右的递增的顺序排序,输入这种一个数组和一个数,推断数组中是否包括这个数...

本文介绍了一个针对杨氏矩阵的查找算法实现。杨氏矩阵是一种特殊的二维数组,其每一行从左到右递增排序,每一列从上到下递增排序。文章提供了完整的C语言代码示例,演示了如何高效地在这样的矩阵中查找特定数值。
//  二维数组中的查找,杨氏矩阵在一个二维数组中。每行都依照从左到右的递增的顺序排序。

// 每列都依照从上到下递增的顺序排序。请完毕一个函数,输入这种一个数组和一个数。推断数组中是否包括这个数 #include <stdio.h> #define col 4 #define rol 4 int yang(int(*p)[col], int num) { int i = 0; int j = col - 1; while (j+1) { int *q = &(p[i][j]); if (*q == num) return 1; else if (*q < num) { p++; } else if (*q > num) { q--; j--; } } return -1; } int main() { int arr[rol][col] = { { 1, 2, 3, 4 }, { 5, 6, 7, 8 }, { 9, 10, 11, 12 }, { 13, 14, 15, 16 } }; printf("%d\n", yang(arr, 6)); printf("%d\n", yang(arr, 15)); printf("%d\n", yang(arr, 20)); printf("%d\n", yang(arr, 1)); printf("%d\n", yang(arr, 16)); return 0; }








评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值