面試題3 二維陣列中的查詢

2021-07-30 11:01:31 字數 1685 閱讀 1661

題目:在乙個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排列。

請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。

#include using namespace std;

bool find(int martix[4], int rows, int columns, int target) }

return false;

}// ********************測試**********************

void test(char* testname, int matrix[4], int rows, int columns, int number)

// 1 2 8 9

// 2 4 9 12

// 4 7 10 13

// 6 8 11 15

// 要查詢的數在陣列中

void test1()

, , , };

test("test1", matrix, 4, 4, 7);

}// 1 2 8 9

// 2 4 9 12

// 4 7 10 13

// 6 8 11 15

// 要查詢的數不在陣列中

void test2()

, , , };

test("test2", matrix, 4, 4, 5);

}// 1 2 8 9

// 2 4 9 12

// 4 7 10 13

// 6 8 11 15

// 要查詢的數是陣列中最小的數字

void test3()

, , , };

test("test3",matrix, 4, 4, 1);

}// 1 2 8 9

// 2 4 9 12

// 4 7 10 13

// 6 8 11 15

// 要查詢的數是陣列中最大的數字

void test4()

, , , };

test("test4", matrix, 4, 4, 15);

}// 1 2 8 9

// 2 4 9 12

// 4 7 10 13

// 6 8 11 15

// 要查詢的數比陣列中最小的數字還小

void test5()

, , , };

test("test5",matrix, 4, 4, 0);

}// 1 2 8 9

// 2 4 9 12

// 4 7 10 13

// 6 8 11 15

// 要查詢的數比陣列中最大的數字還大

void test6()

, , , };

test("test6", matrix, 4, 4, 16);

}// 魯棒性測試,輸入空指標

void test7()

int main()

面試題3 二維陣列中的查詢

題目描述 在乙個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。輸入 輸入可能包含多個測試樣例,對於每個測試案例,輸入的第一行為兩個整數m和n 1 m,n 1000 代表將要輸入的矩陣的行...

面試題3 二維陣列中的查詢

題目描述 在乙個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。輸入 輸入可能包含多個測試樣例,對於每個測試案例,輸入的第一行為兩個整數m和n 1 m,n 1000 代表將要輸入的矩陣的行...

面試題3 二維陣列中的查詢

題目 在二維陣列中,每行 每列的數字遞增,判斷乙個數字是否存在 分析 從二維陣列的右上角開始查詢,若找到,則停止 若比該數字大,則放棄該列 若比該數字小,則放棄該行。如下 include stdafx.h define maxn 100 bool find int matrix,int n,int ...