在乙個二維陣列中,每一行都按照從左到右遞增的順序排序,誒一列都按照從上到下遞增的順序排序,請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否包含了該整數。
例如下面的二維陣列就是每行、沒列都遞增排序。如果在這個陣列中查詢數字7,則返回true(找得到);如果查詢數字5,由於陣列不含該數字,則返回false。12
8924
91247
101368
1115
解決思路* 從右上角開始查
* 如果當前數小於需要查詢數字a,那麼刪除這一列
* 如果當前數大於需要查詢數字a,那麼刪除這一行
public class matrixsearch
else if(num[row][column] >number)
else}}
return found;
}public static void main(string args) ,,,};
boolean isin = matrixsearch.find(matrix, 10);
system.out.println(isin);
}}
資料結構 有序表查詢
對於已經排好序的表,有 在有序表中,取中間的記錄進行比較,如果相同,匹配成功。如果比中間值小,就在中間記錄的左半區進行查詢,如果大,就在右半區。public static intbinarysearch int key return 1 插值查詢是對折半查詢的改進。折半時 mid l ow h ei...
資料結構查詢演算法
又叫線性查詢,是一種基本的查詢演算法。查詢過程 從表中第乙個 或最後乙個 記錄開始,逐個進行記錄的關鍵字和給定值比較,若某個記錄的關鍵字和給定值相等,則查詢成功,如果查詢到表中最後乙個元素,還沒有找到,則查詢不成功。public intsearch int array int key return ...
資料結構 有序表查詢及實現
折半查詢 binary search 又稱為二分查詢。它的前提就是u是線性表中的記錄必須有序的,線性表必須採用順序儲存。折半查詢的基本思想 在有序表中,取中間記錄作為比較物件,若給定值與中間記錄的關鍵字相等,則查詢成功 若給定值小於中間記錄的關鍵字,則在中間記錄的左半區繼續查詢 若給定值大雨中間記錄...