C++ Länge eines zweidimensionalen Vektors?

1 Antwort

Die Anzahl der Vektoren im Vektor bekommst du mit der size-Methode. Um die Anzahl der Elemente in den inneren Vektoren zu bekommen, musst du sie dir holen. Da Vektoren eine dynamische Länge haben können, muss die Länge je Eintrag nicht immer gleich sein.

Ein Beispiel:

std::vector<std::vector<int>> data
{
  { 1, 2, 3 },
  { 4, 5, 6, 7 },
  { 8, 9 }
};

int size = data.size();

if (size > 0) {
  int sizeOfFirstVector = data[0].size();
  std::cout << sizeOfFirstVector;
}

Um nun zu ermitteln, wie viele Elemente insgesamt enthalten sind, müsstest du durch den Vektor laufen und jeden inneren Vektor auf seine Länge prüfen, um diese zu einer Gesamtsumme aufzurechnen.

int numberOfElements = 0;

for (const auto &innerData : data) {
  numberOfElements += innerData.size();
}

std::cout << numberOfElements;
wunschname0302  09.05.2021, 12:29

So sehe ich das auch. Das Konzept einer Matrix passt hier nicht.

0