c++ 一維向量,和二維向量的基本使用
- 首先是一維向量和二維向量的初始化
//很簡單,初始化一個n個元素值為1的向量。
//括號可選
vector<int> res(n,1);
//相當於二維m*n的陣列,不過陣列的memset好像只能初始化為0
vector<vector<int> > res(m,vector<int>(n,1))
//預設都初始化為0
vector<int> res(n)
//跟陣列差不多
vector<int> res{1,2,3}
記住後面的兩個>有一個空格,要不然系統會解釋為流操作符。(好像是)
- 接下來是一維向量的各種成員函式
vector<int> res;
//將n入到向量尾端
res.push_back(n);
//刪除向量尾端的元素,無返回值
res.pop_back()
//返回尾部的引用
int a = res.back()
//返回值bool型
res.empty()
//使用這個可以替代用sizeof求陣列
res.size()
- 然後就是使用迭代器來遍歷
//初始化一個vector型別的迭代器
vecotr<int> res;
vector<int>:: iterator iter;
for(iter=res.begin();iter!=res.end();iter++){
cout<<*iter<<endl;
}
//二維的
vector<vector<int> > vec;
vector<vector<int> >::iterator iter2;
for(iter2=vec.begin();iter2!=vec.end();iter2++){
//內部初始化一個一維向量的迭代器,和一個一維向量來訪問每一行
vector<int> other = *iter;
vector<int>::iterator iter3;
for(iter3=other.begin();iter3!=other.end();iter3++){
cout<<*iter3<<" ";
}
cout<<endl;
}
其實二維向量還是挺麻煩的,不能直接使用下標來訪問。但是一維向量是真的香。
有一種場景我覺得使用二維向量還是挺好的:就是有多個結果集,我們每次找到一個結果集就是一個一維向量,直接push_back到二維向量中,相當於每次一行,還是挺方便的
vector<int> res;
vector<int> track;
if(...){
// 符合條件就push_back
res.push_back(track)
}
目前向量我用的就這麼多吧!後續有常用的還會更新uo!
相關文章
- 如何優雅地從 C++ 向量中提取二維矩形區域C++
- 0190-定義三維向量
- 向量點乘為降維,叉乘為升維點乘
- UA MATH567 高維統計II 隨機向量1 隨機向量的範數H5隨機
- UA MATH567 高維統計II 隨機向量2 各向同性的隨機向量H5隨機
- UA MATH567 高維統計II 隨機向量5 亞高斯隨機向量H5隨機
- 推薦系統中嵌入向量維數選擇
- C++ 使用 new 建立二維陣列C++陣列
- 向量圖SVG的使用SVG
- 二維字首和 & 二維差分
- 支援向量機(SVM)和python實現(二)Python
- c++向量變數動作.C++變數
- C/C++ 二維陣列的理解(多維陣列)C++陣列
- UA MATH567 高維統計II 隨機向量6 亞高斯隨機向量的應用: 半正定規劃H5隨機
- 卷積運算元的矩陣向量乘積表示&一維離散降質模型卷積矩陣模型
- MATLAB一維插值和二維插值 比較Matlab
- 使用BERT生成句向量
- 流和向量(Streams and Vectors)
- 特徵值和特徵向量特徵
- Java 二維陣列轉一維Java陣列
- 第11章 使用類——再談過載:向量類(二)
- 特徵值 和 特徵向量,thrive特徵
- 矩陣的特徵值和特徵向量矩陣特徵
- 微課|中學生可以這樣學Python(例7.2):三維向量類Python
- C++用new建立二維陣列的方法C++陣列
- 向量正交
- 【動態規劃】用一維和二維解決不同路徑動態規劃
- 支援向量機之線性可分向量機
- 字首和與二維字首和
- js 一維陣列轉二維陣列JS陣列
- js 二維陣列轉一維陣列JS陣列
- CCF 202006-2 稀疏向量【map的使用】
- 如何使用 resnet 生成圖片向量?
- Chroma向量資料庫使用案例資料庫
- 使用 Python 生成二維碼Python
- 二維字首和&差分
- c++ -- 二維陣列引數傳遞C++陣列
- 如何將文字轉換為向量?(方法二)