二维数组查找某数
来源:互联网 发布:it平面设计 编辑:程序博客网 时间:2024/06/05 14:20
题目描述:在一个二维数组中,查找某个数。这个二位数组的每一行和每一列都是递增的。
解决:查找都是从 右上角 的数(该数)开始查询。
如果查找的数==该数,则直接返回true;
如果查找的数 < 该数,则说明要查找的数在该数的左边,那么列数-1;
如果查找的数 > 该数,则说明要查找的数在该数的下边,那么行数+1.
直至查找到这个数。
代码:
bool find(int* matrix,int rows,int columns,int number){ if(matrix == NULL || rows<=0 || columns<=0) { return false; } int row = 0; int column = columns-1; while(row < rows && column >= 0) { if(matrix[row*columns + column] == number) { return true; } if(matrix[row*columns + column] < number) { row++; } else { column--; } } return false;}
主函数:
int main(){ int rows = 4,columns=3; int matrix[rows*columns] = {1,2,4,2,4,7,3,5,9,4,7,10}; if(find(matrix,rows,columns,10)) { printf("find 10\n"); } else { printf("not find 10\n"); } if(find(matrix,rows,columns,20)) { printf("find 20\n"); } else { printf("not find 20\n"); } return 0;}
0 0
- 二维数组查找某数
- 二维数组查找数
- php二维数数组二分查找
- 二维数组中查找一个数
- 在二维数组中查找数
- 在二维数组中查找一个数
- 二维有序数组查找一个数
- 在一个二维数组中查找一个数
- 二维数组中查找某个数是否存在
- 二维数组中查找指定数是否存在?
- 指针法排序/查找数/成绩排序(二维数组)
- 查找一个数是否在二维数组中
- 二维数组中查找一个数是否存在
- 剑指offer之二维数组中查找一个数
- 3、二维数组查找一个数是不是存在
- 二维数组中查找是否存在一个数
- 剑指offer-面试题3 查找二维数组中的数
- java实现在二维数组中查找一个数
- 微信页面基础
- Unity 游戏框架搭建 (八) 减少加班利器-QLog
- 采用Java nio 实现的一个简单的服务器
- java Excel导入导出,基于XML的实现,easy-excel使用
- CAGradientLayer的使用
- 二维数组查找某数
- Android Gradle Build Error:Some file crunching failed, see logs for details解决办法(转载)
- [真格邦]Java学习开篇
- SSL P1624 小萨的烦恼
- Java之IO流学习总结-上
- Java之IO流学习总结-下
- Java之多线程流学习总结-知识点目…
- C#调用C++生成的DLL(实例1)
- Android系列之Intent与Activity实验