本文記錄了對C++中的vector容器的簡單操作,包括給vector添加元素、按指定列排序、取值。
尖山網(wǎng)站制作公司哪家好,找成都創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)公司等網(wǎng)站項目制作,到程序開發(fā),運營維護。成都創(chuàng)新互聯(lián)成立于2013年到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設(shè)就選成都創(chuàng)新互聯(lián)。1,數(shù)組轉(zhuǎn)vector
double ptProjected[4] = {1.1, 1.2, 1.3, 5.0};
vectorvecProjected(ptProjected, ptProjected + sizeof(ptProjected) / sizeof(double));
2,vector轉(zhuǎn)數(shù)組
由于vector內(nèi)部的數(shù)據(jù)是存放在連續(xù)的存儲空間,vector轉(zhuǎn)數(shù)組事實上只需要獲取vector中第一個數(shù)據(jù)的地址和數(shù)據(jù)的長度即可。如果僅僅是傳參,無需任何操作,直接傳地址即可,如果要進行數(shù)據(jù)復(fù)制,可以借用內(nèi)存拷貝函數(shù)“memcpy”。例如:
double *buffer = new double [sizeof(arrHeight)];
if (!vecHeight.empty())
{memcpy(buffer, &vecHeight[0], vecHeight.size()*sizeof(double));
}
如圖所示,紅框內(nèi)是原始數(shù)組,藍框內(nèi)是根據(jù)第四列數(shù)字從小到大排序后的數(shù)組。
#include "stdafx.h"
#include#include
#includeusing namespace std;
int main() {vectora = {1,5,8,1 };
vectorb = {7,8,3,3 };
vectorc = {4,6,5,2 };
vectord = {4,6,5,0 };
//普通數(shù)組轉(zhuǎn)換為vector數(shù)組
double ptProjected[4] = {1.1, 1.2, 1.3, 5.0};
vectorvecProjected(ptProjected, ptProjected + sizeof(ptProjected) / sizeof(double));
//將一維數(shù)組加入二維數(shù)組中
vector< vector>vecTest;
vecTest.push_back(a);
vecTest.push_back(b);
vecTest.push_back(c);
vecTest.push_back(d);
vecTest.push_back(vecProjected);
//排序所用到的列的維度,本例子根據(jù)第4列排序
int dimension = 3;
//根據(jù)第4列排序
sort(vecTest.begin(), vecTest.end(), [&dimension](vector&a, vector&b) {return a[dimension]>b[dimension];
});
//打印排序后的數(shù)組
for (auto item : vecTest) {for (auto num : item) { cout<< num<< "\t";
}
cout<< endl;
}
system("pause");
return 0;
}
三、刪除二維 vector 數(shù)組最后一列數(shù)據(jù)如圖所示,紅色框內(nèi)數(shù)組是4列,藍框內(nèi)是刪除了最后一列的數(shù)組。
//接上一節(jié)代碼
//刪除最后一個元素
vector< vector>result;
for (auto pVoxel : test) {pVoxel.pop_back();
result.push_back(pVoxel);
}
//打印刪除最后一個元素后的result數(shù)組
for (auto item : result) {for (auto num : item) { cout<< num<< "\t";
}
cout<< endl;
}
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧