web-dev-qa-db-fra.com

initialiser un vecteur 2D

Quelle est la différence entre ces deux manières de déclarer un vecteur 2D?.

vector< vector<int>> a(M,N);

et

vector< vector<int>> a(M, vector<int> (N));

J'ai essayé mais je me sens le premier facile à comprendre.

18
sad

Pour déclarer un vecteur 2D, nous devons d’abord définir un tableau 1D de taille égale au nombre de lignes du vecteur 2D souhaité .Nous voulons créer un vecteur de k lignes et m colonnes

 "vector<vector<int>> track(k);"

Cela créera un vecteur de taille k. Ensuite, utilisez la méthode de redimensionnement.

for (int i = 0; i < k; i++) {
    track[i].resize(m);

De cette façon, vous pouvez déclarer un vecteur 2D

0
user10636234