vector建立二維陣列的程式設計試驗biu

2021-09-20 19:01:53 字數 1088 閱讀 3158

先上主角,無意刷到了劍指offer的一道題,是在矩陣中尋找某個數字,上**。

#include #include #include using namespace std;

/* 劍指offer在陣列中尋找某個數字

二維陣列從左到右是遞增的,從上到下是遞增的,在此矩陣中尋找某個特定的數字

*/bool find(int num, vector> array)

else if (num > array[j][i])

else

} return found;

}int main()

} int num;

cin >> num;

cout << find(num, array) << endl;

return 0;

}

上面的程式中細心的可能會發現有break,如果去掉break的話,vs2017我是執行不出結果的,然而下面這位博主的**:

/*

矩陣是有序的,從左下角來看,向上數字遞減,向右數字遞增,

因此從左下角開始查詢,當要查詢數字比左下角數字大時。右移

要查詢數字比左下角數字小時,上移

*/#include#include#includeusing namespace std;

class solution

else if (target > array[i][j])

else

return true;

} return false;

}};int main()

} solution s;

cout << s.find(9, array);

return 0;

}

我稍微改了改資料的輸入形式嘻嘻,然後你會發現是沒有break的,但是依然能輸出結果,不會出現執行卡死的現象,我還挺納悶,難道是類的成員函式比普通的函式執行效率高嗎??用了class居然不用break也能執行出正確結果,查了些資料,結果很少有解答的,所以我現在只能認為類是效率更高的。

懂了vector建立二維陣列的方式也是很高興吶。

動態建立二維vector陣列

二維vector vector ivec m vector n m n的二維vector 動態建立m n的二維vector 方法一 vector ivec ivec.resize m for int i 0 i ivec ivec.resize m,vector n 動態建立二維陣列a m n c語...

動態建立二維vector陣列

m n的二維vector vector ivec m vector n 動態建立m n的二維vector 方法一 vector ivec ivec.resize m for int i 0 i m i ivec i resize n 方法二 vector ivec ivec.resize m,vec...

vector 二維陣列

1052 賣個萌 20分 萌萌噠表情符號通常由 手 眼 口 三個主要部分組成。簡單起見,我們假設乙個表情符號是按下列格式輸出的 左手 左眼 口 右眼 右手 現給出可選用的符號集合,請你按使用者的要求輸出表情。輸入首先在前三行順序對應給出手 眼 口的可選符號集。每個符號括在一對方括號內。題目保證每個集...