二维数组中查找(面试题 3)

来源:互联网 发布:网络助手怎么用 编辑:程序博客网 时间:2024/04/29 23:53

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

#include "iostream"using namespace std;bool Find(int* matrix,int rows,int columns,int number){bool found =false;int row=0,column =columns -1;if (matrix!=NULL&&rows>0&&columns>0){while(row<rows&&column>=0){if (matrix[row*columns +column] ==number){found =true;break;;}else if (matrix[row*columns +column]>number){--column;}elserow++;}}return found;}void main(){int matrix[16] ={1,2,8,9,2,4,9,12,4,7,10,13,6,8,11,15};if (Find(matrix,4,4,0)){cout<<"数据找到!"<<endl;}elsecout<<"数据未找到!"<<endl;}


0 0
原创粉丝点击