二維數組查找——劍指offer
阿新 • • 發佈:2017-08-17
判斷 found display col -a == std != 查找
題目:在一個二維數組中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序,請完成一個函數,輸入這樣的一個二維數組和一個整數,判斷數組中是否有該整數。
1 #include <stdio.h> 2 #include<stdbool.h> 3 int main() 4 { 5 int find(int matrix[4][4], int rows, int columns, int number); 6 int a[4][4] = {{ 1, 2, 8, 9 }, 7 { 2, 4View Code, 9, 12 }, 8 { 4, 7, 10, 13 }, 9 { 6, 8, 11, 15 } }; 10 int result = find(a, 4, 4, 12); 11 if (result == 1) 12 printf("已經查到\n"); 13 else 14 printf("數組中沒有此元素\n"); 15 return 0; 16 } 17 int find(int matrix[4][4], int rows, int columns, intnumber) 18 { 19 bool found = false; 20 if (matrix != NULL && rows>0 && columns>0) 21 { 22 int a = 0; 23 int b = columns - 1; 24 while (a<rows && b >= 0) 25 { 26 if (matrix[a][b] == number) 27 { 28 found = true; 29 break; 30 } 31 else if (matrix[a][b]> number) 32 --b; 33 else 34 ++a; 35 } 36 } 37 return found; 38 }
二維數組查找——劍指offer