判斷數X是否在矩陣中

2022-02-09 21:18:53 字數 758 閱讀 9420

原題:《資料結構與演算法分析c++描述(第三版)》練習2.27

問題描述:n*n矩陣,每一行從左到右增加,每一列從上到下增加。給出o(n)最壞情形演算法決定是否數x在該矩陣中。

**:

1 #include2 #include3 #include4 #include5

6using

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...