原題:《資料結構與演算法分析c++描述(第三版)》練習2.27
問題描述:n*n矩陣,每一行從左到右增加,每一列從上到下增加。給出o(n)最壞情形演算法決定是否數x在該矩陣中。
**:
1 #include2 #include3 #include4 #include56using
namespace
std;78
int searchx(vectorint> > v,intx)9
18return -1;19
}2021int
main()
2229
string
line;
30int
word;
31 vectortv;
32 vectorint> >v;
33while
(getline(myfile,line))
3440
myfile.close();
41int
x;42 cin>>x;
43int result =searchx(v,x);
44if(result==0) cout<<"
find the number in matrix
"<45else cout<<"
can not find the number in matrix
"<46return0;
47 }
注:檔案2.27.txt中儲存矩陣。
在楊氏矩陣中判斷乙個數是否存在
楊氏矩陣是乙個二位陣列,這個陣列無論橫向縱向都是遞增的。比如陣列 1 4 7 2 5 8 3 6 9 要想時間複雜度小於o n 就不能遍歷整個陣列,其實只需判斷這個i行j列的陣列的arr i 1 j 1 是否等於要找的數,如果大於要找的數,說明要找的數一定在該數的左下方。如果小於要找的數,說明要找的...
判斷座標是否在矩陣內
public void aaa string token new double new double new double bool isok isinpolygon new double 4,points if isok else public double inf 1e9 public doub...
判斷給定的陣列 在 矩陣中是否相連
在乙個5 5的矩陣中,給定乙個長度為 6的陣列,判定這陣列的值是否在矩陣中相連的,如 如矩陣 int m 5 5 給定陣列 12,3,13,23,15,14 輸出為 true 給定陣列 12,3,13,23,14,15 輸出為 true 給定陣列 12,3,13,23,14,25 輸出為 false...