二維陣列的查詢

2021-08-20 10:30:13 字數 800 閱讀 7724

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

題目分析:矩陣是有序的,從左下角來看,向上數字遞減,向右數字遞增,因此從左下角開始查詢,當要查詢數字比左下角數字大時。右移要查詢數字比左下角數字小時,上移。

例矩陣:

1 2 3

4 5 6

7 8 9

具體演算法如下:

#include 

using

namespace

std;

int main()

; cout

<< "輸入要查詢的值"

<< endl;

cin >> key;

/* for (i = 0; i < row; i++)

}*/for (i = row - 1, j = 0;(i >= 0 )&& (j < col);)

if (arr[i][j]>key)

if (arr[i][j] < key)

}cout

<< "該數不存在"

<< endl;

return

0; }

結果:

二維陣列查詢

近日微博上看到乙個題目,二維陣列查詢 在乙個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。例如下面的二維陣列就是每行 每列都遞增排序。如果在這個陣列中查詢數字7,則返回true 如果查詢...

二維陣列查詢

天氣變化大,生病折騰了1個禮拜,寫篇部落格壓壓驚。題目源自於清明假期前夕舍友春招的筆試題,後來得知是劍指offer上的一道題,書上應該有解題思路啥的。題目重述 在乙個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,...

二維陣列查詢

題目描述 在乙個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請 完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。解題思路 按照一般搜尋二維陣列的方法,從左到右,從上到下,比較難根據這個陣列的特點進行快速搜尋。可以從 右到左,從上到下,...