#include <iostream>
using namespace std;
bool ifHasNum(int *data,int row, int col, int num){
if(data == NULL || row <= 0 || col <= 0){
return false;
}
int i = 0;
int j = col - 1;
while(i < row && j >= 0){
if(num == data[i * col + j]){
cout <<"i = "<<i<< "j="<<j<<endl;
return true;
} else if (num < data[i * col + j]){
j--;
} else {
i++;
}
}
}
void main(){
int data[16] = {1, 2 , 8 , 9, 2, 4, 9, 12, 4, 7, 10, 13, 6, 8, 11, 15};
cout<<ifHasNum(data, 4, 4, 9)<<endl;
cout<<ifHasNum(data, 4, 4, 8)<<endl;
cout<<ifHasNum(data, 4, 4, 15)<<endl;
cout<<ifHasNum(data, 4, 4, 1)<<endl;
cout<<ifHasNum(data, 4, 4, 33)<<endl;
cout<<ifHasNum(data, 4, 4, -1)<<endl;
cout<<ifHasNum(NULL, 4, 4, -1)<<endl;
cout<<ifHasNum(NULL, -4, 4, -1)<<endl;
cout<<ifHasNum(NULL, 4, -4, -1)<<endl;
}
剑指offer_02_二维数组中的查找
最新推荐文章于 2022-07-26 12:21:24 发布