簡體   English   中英

將 int[n][n] 轉換為向量<vector<int> &gt; </vector<int>

[英]Convert int[n][n] to vector<vector<int>>

我們可以使用以下方法輕松地將數組轉換為向量:

int a[n];

vector<int> b = vector(a, a + n);

我想使用矩陣,如果我想轉換怎么辦:

int a[n][n];

vector<vector<int>> b = ... // from a 

b.size() = n 和 b[0...n-1].size() = n?


或者,我可以接受轉換的解決方案

std::vector< std::array<int, n> > a;
a.reserve(n);

vector<vector<int>> b = ... // from a

我懷疑向量的向量是您用例的容器的最佳選擇,但如果它超出您的控制范圍,這樣的事情應該可以工作:

int a[n][n];
std::vector<std::vector<int>> v;
v.reserve(n);
for (int *arr : a) {
    v.emplace_back(arr, arr + n);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM