問題描述:
在乙個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。
例如下面的二維陣列就是每行、每列都遞增排序。如果在這個陣列中查詢數字6,則返回true;如果查詢數字5,由於陣列不含有該數字,則返回false。
1 2 8 9
2 4 9 12
4 7 10 13
6 8 11 15
楊氏矩陣的二分查詢:
首先直接定位到最右上角的元素,如果比要找的數(6)大,則往左走,
如果比要找的數(6)小,則往下走,直到找到要找的數為止。
**實現:
#include using namespace std;
/* * desc:楊氏矩陣二分查詢
* author: chenwq ([email protected]) && july
* version: 1.0 2012/05/22
*/#define row 4
#define col 4
bool young(int array[col], int search)
else if(var > search && j > 0)
else
return false; }}
int main()
, ,, };
young(array, 6);
/* for(int search = 1; search <= 15; search++)
*/ return 0;
}
楊氏矩陣查詢
題目為 在乙個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。例如下面的二維陣列就是每行 每列都遞增排序,如果在這個陣列中查詢數字6,則返回true 如果查詢數字10,由於陣列不含有該數字...
楊氏矩陣查詢
方案一 時間複雜度o m n 原理 從右上角開始 左下角相同 如果arr i j t,就向左查詢,如果arr i j 2013.7.23 0423 function 楊氏矩陣查詢 在乙個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個...
楊氏矩陣查詢
題目描述 楊氏矩陣,即在乙個二維陣列中,每一行都按照從左到右嚴格遞增的順序排序,每一列都按照從上到下嚴格遞增的順序排序。請完成乙個函式,輸入這樣的乙個 n n的二維陣列和 m個整數,判斷陣列中是否含有上述 m個整數。你能解決這個問題嗎?輸入格式 可能有多個測試輸入,第一行給出總共的測試輸入的個數。對...