利用vector定義矩陣

2022-05-02 14:09:11 字數 768 閱讀 7680

熟悉c風格的矩陣定義,那麼用純c++特性vector如何定義乙個矩陣呢?

1 # include2 # include 3

intmain()

412 array[2][3] = 5

;13 cout << "

array[3][3]:

"<< array[2][3] <14 cout << "

array的行數

"<< array.size() <15 cout << "

array的列數

"<< array[0].size() <16 system("

pause");

17return0;

1819 }

上述**定義了3行4列的矩陣,主要是正確理解vector>array(3),我們應該如何理解?

回到vector的建構函式,array(3)表示使得向量array保留3個元素。即本質上,array是乙個向量,這個向量的大小為3,;而這個向量的每個元素是vector,即這個向量的每個元素是向量。當然每個元素的大小在第六行並未定義,可見array的本質是向量,並不是矩陣,並沒有矩陣這個概念,矩陣只是向量的每個子元素也是向量,且恰巧這些子元素的長度也一致而已,僅此而已。

以及對array.size()和array[0].size()的理解。知道了對array的定義,自然我們就知道了array.size()表示的是向量array的長度,array[0].size()為其元素的長度。也就是本質上,我們應該只有向量的概念。

vector自定義排序

自定義乙個結構體,用vector存放這個結構體型資料,在push back的時候實現對vector內元素按結構體某一成員進行排序,詳見參考博文。核心 如下,詳細且可執行 可看參考博文。struct pstr from larger to smaller bool comp const pstr ps...

矩陣的定義

元素是實數的矩陣稱為實矩陣,元素是複數的矩陣稱為復矩陣 行數與列數都等於 n 的矩陣稱為n 階矩陣或n 階方陣.n 階矩陣 a 也記作 an.只有一行的矩陣 a a1 a2 an 稱為行矩陣,又稱行向量 為避免元素間的混淆,行矩陣也記作 a a1,a2,an 只有一列的矩陣 兩個矩陣的行數相等 列數...

17 2 利用vector容器初步理解STL

了解stl容器演算法迭代器概念之後,我們利用 感受stl魅力。stl最常用的容器為vector,可以理解為陣列,下面我們將演示如何向這個容器插入 刪除和遍歷資料。1 vercot存放內建資料型別 include include include using namespace std void myp...