在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下的递增顺序排序。请完成一个函数,输入这样一个二维数组和一个整数,判断数组中是否包含该整数。
#include<iostream>
using namespace std;
bool find(int a[][4],int rows,int columns,int key){
bool flag=false;
int row=0;
int column=columns-1;
if(a){
while(row<4&&column>=0){
if(a[row][column]==key){
flag=true;
cout<<row<<" "<<column<<endl;
break;
}
else if(a[row][column]<key){
++row;
}
else --column;
}
}
return flag;
}
int main(void){
int a[4][4]={1,2,8,9,2,4,9,12,4,7,10,13,6,8,11,15};
for(int i=0;i<4;i++){
for(int j=0;j<4;j++){
cout<<a[i][j]<<"\t";
}
cout<<endl;
}
bool flag =find(a,4,4,2);
cout<<flag;
return 0;
}