2014-01-27 57 views
-1

我有一個矢量列表。每個矢量包含n個數字。我想有k×k個這樣的向量。要初始化它,我會做創建一個2D矢量陣列,遍歷

vector<int> v1[k][k]; 
for(int j = 0; j < k; j++)//initialize each vector with n numbers 
    for(int i = 0; i < k; i++) 
    for(int c = 0; c < n; c++) 
     v1[j][i].push_back(n); 
//deletion if number already exists, confused about this part. 
for(int i = 0; i < k; i++)//iteration of the array of vectors 
    for(int j = 0; j < k; j++) 
    for(int u = 0; u < v1[i][j].size();u++)//iteration of each element(n) in vector 
    if(v1[i][j][u] == existing_number) 
     v1[i][j].erase(v1[i][j].begin + (i* k + j)) 

我是否正確訪問和擦除元素?我不知道如何訪問向量數組中的元素。

+0

而問題是? – LihO

+0

我做得對嗎?我不確定是否正確訪問元素。 – AzureWorld

回答

0

好像你想要矢量(矢量)矢量? 載體的載體被宣佈爲例如與k等於9爲:

unsigned long k = 9; 
vector< vector<int> > vec(k,vector<int>(k)); 
+0

不是真正的矢量矢量,因爲k x k是恆定的,永遠不會改變,這就是爲什麼我將它用作數組。然而,n個數字的列表是動態的,這就是爲什麼我使用了一個向量。 – AzureWorld