楊氏矩陣
題目內容 :
有乙個數字矩陣,矩陣的每行從左到右是遞增的,矩陣從上到下是遞增的,請編寫程式在這樣的矩陣中查詢某個數字是否存在。
楊氏矩陣是行上從左到右依次增大,列上從上到小依次增大。
該方法從右上角第乙個開始查詢,一次可以排除一行或者一列,所以大大提高效率。
#include
#include
#pragma warning(disable:4996)
intfind
(int a[
5],int row,
int col,
int target)
else
if(target > a[i]
[j])
else
}return-1
;}intmain()
,,};
printf
("請輸要比較的數:");
int x;
scanf
("%d"
,&x)
;int ret =
find
(a,3,5
, x);if
(ret ==1)
else
system
("pause");
return0;
}
在楊氏矩陣中判斷乙個數是否存在
楊氏矩陣是乙個二位陣列,這個陣列無論橫向縱向都是遞增的。比如陣列 1 4 7 2 5 8 3 6 9 要想時間複雜度小於o n 就不能遍歷整個陣列,其實只需判斷這個i行j列的陣列的arr i 1 j 1 是否等於要找的數,如果大於要找的數,說明要找的數一定在該數的左下方。如果小於要找的數,說明要找的...
C語言 在楊氏矩陣中查詢乙個數字是否存在
題目 有乙個二維陣列 楊氏矩陣 陣列的每行從左到右是遞增的,每列從上到下是遞增的。在這樣的陣列中查詢乙個數字是否存在。時間複雜度小於o n 此題的解決思路為 由於陣列的每行從左到右是遞增的,每列從上到下是遞增的,因此右上角的這個數為該數所在這一行最大的數,為該數所在這一列最小的數,我們以陣列右上角的...
C語言判斷檔案是否存在
用函式access,標頭檔案是io.h,原型 int access const char filename,int amode amode引數為0時表示檢查檔案的存在性,如果檔案存在,返回0,不存在,返回 1。這個函式還可以檢查其它檔案屬性 06 檢查讀寫許可權 04 檢查讀許可權 02 檢查寫許可...