#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++; } } } int 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; }
时间: 2024-12-18 15:24:20