面试题3:二维数组查找
生活随笔
收集整理的這篇文章主要介紹了
面试题3:二维数组查找
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1 bool Find(const int *matrix, int rows, int columns, int number)
2 {
3 int key;
4 int indexRow;
5 int indexCol;
6
7 /*合法性檢查*/
8 if((NULL == matrix)||(rows <= 0)||(columns <=0))
9 {
10 return false;
11 }
12
13 /*提升性能,直接和最大最小值比較*/
14 if((number < matrix[0])||(number > matrix[rows*columns-1]))
15 {
16 return false;
17 }
18
19 indexRow = 0;
20 indexCol = columns - 1;
21
22 /*核心代碼*/
23 while((indexRow < rows)&&(indexCol >= 0))
24 {
25 key = matrix[indexRow*columns + indexCol];
26 if(key > number)
27 {
28 indexCol--;
29 }
30 else if(key < number)
31 {
32 indexRow++;
33 }
34 else
35 {
36 return true;
37 }
38 }
39
40 return false;
41 }
?
轉(zhuǎn)載于:https://www.cnblogs.com/cauchy007/p/4558631.html
總結(jié)
以上是生活随笔為你收集整理的面试题3:二维数组查找的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 招行腾讯圣斗士星矢联名信用卡怎么样?特权
- 下一篇: 迅雷账号