The sword refers to the search in the offer_02 _ two-dimensional array and the sword refers to offer_02
#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;}
Search for an integer in a two-dimensional array. If it is found, the Element and Its Array subscript are displayed. If it is not found, a prompt is displayed.
Er, to solve this problem, traverse the array to find the ordered array. Use the 2-point search method.
How to find a two-dimensional array
Var Employees = [['0', '50 or below '], ['1', '50-200 person'], ['2 ', '2014-200 people'], ['3', '2014-500 '], ['4', '2014-500 +'];
Function (n ){
If (typeof n = 'number '){
Alert (Employees [n] [1]);
Return Employees [n] [1];
}
}