楊氏矩陣查詢

2021-09-01 07:31:12 字數 835 閱讀 1323

問題描述:

在乙個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。

例如下面的二維陣列就是每行、每列都遞增排序。如果在這個陣列中查詢數字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個整數。你能解決這個問題嗎?輸入格式 可能有多個測試輸入,第一行給出總共的測試輸入的個數。對...