Drucken Sie einen Vektor C ++

Drucken Sie einen Vektor C ++

In diesem Fall werden wir verschiedene Methoden und Techniken zum Drucken eines Vektors in C erörtern++.

Was ist ein Vektor?

In C ++ bezieht sich ein Vektor auf eine Variable, mit der mehrere Werte desselben Typs gespeichert werden können. Stellen Sie sich einen Vektor als Implementierung eines Arrays vor.

Im Gegensatz zu einem Array ist ein Vektor jedoch dynamisch und kann je nach unseren Anforderungen wachsen oder schrumpfen.

C ++ Vektor erstellen

In C ++ werden Vektoren in der Vektor -Header -Datei definiert, die als Teil der C ++ - Standardbibliothek enthalten ist.

Um Vektoren in C ++ zu verwenden, müssen wir die Header -Datei wie unten gezeigt einfügen:

#enthalten

Sobald wir die Header -Datei einbezogen haben, können wir einen Vektor unter Verwendung der unten gezeigten Syntax deklarieren:

STD :: Vektor vector_name

Der T -Parameter in der obigen Syntax bezieht sich auf einen primitiven C ++ - Datentyp.

Um beispielsweise einen Int -Vektor zu deklarieren, können wir dies tun:

#enthalten
#enthalten
int main ()
STD :: Vektor my_Vector = 1,2,3,4,5;

Im obigen Beispiel deklarieren wir einen Vektor namens My_Vector vom Typ int int. Es hält die in den lockigen Klammern definierten Elemente.

C ++ Zugriff auf Vektorelemente

In C ++ können wir mit der AT () -Methode auf die Elemente eines Vektors zugreifen. Mit der Funktion können wir einen Index angeben und den Wert in diesem Index abrufen.

Betrachten Sie das folgende Beispiel:

#enthalten
#enthalten
int main ()
STD :: Vektor my_Vector = 1,2,3,4,5;
std :: Cout << my_vector.at(1) << std::endl;

Im obigen Beispielcode verwenden wir die Funktion AT (), um auf das Element unter Index 1 des My_Vector -Vektors zuzugreifen.

Wenn wir den obigen Code kompilieren und ausführen, sollten wir eine Ausgabe wie gezeigt sehen:

$ g ++ vect.CPP
$ ./A.aus
2

C ++ Druckvektor - für die Schleife

Wir können den Index jedes Vektors unter Verwendung der AT () -Funktion und A für Schleife iterieren und das entsprechende Element zurückgeben.

Nehmen Sie die unten gezeigte Abbildung:

#enthalten
#enthalten
intmain ()
std :: vectormy_Vector = 1,2,3,4,5;
für (inti = 0; istd :: Cout<< my_vector.at(i) <

Im obigen Beispiel verwenden wir die Funktion Size (), um die Größe des Vektors zu erhalten. Dies hindert uns daran, die Größe des Vektors manuell zu erraten und auf Elemente außerhalb der Bounds zuzugreifen.

Anschließend verwenden wir jeden Index des Vektors in der Funktion at (), um das entsprechende Element zu erhalten.

Der obige Code sollte zurückgeben:

$ g ++ vect.CPP
$ ./A.aus
1
2
3
4
5

Anstelle der Funktion at () können Sie die Vektorindexierung wie gezeigt verwenden:

#enthalten
#enthalten
int main ()
std :: vectormy_Vector = 1,2,3,4,5;
für (inti = 0; istd :: Cout<

Das obige Beispiel verwendet die Indexierungsnotation [], um auf das Element im angegebenen Index zuzugreifen.

C ++ Druckvektor - for_each

Eine weitere Standardmethode zum Drucken eines Vektors besteht darin, einen Iterator zu verwenden, der in der for_each -Methode bereitgestellt wird. Dies ist in der Algorithmus -Bibliothek enthalten.

Ein Beispielcode wird unten angezeigt:

#enthalten
#enthalten
#enthalten
int main ()
std :: vectormy_Vector = 1,2,3,4,5;
for_each (my_Vector.begin (), my_Vector.End (), [] (Constint & n)
std :: Cout<< n <);

Mit der FORAC -Methode können wir eine Funktion auf jedes Element im Vektor für einen bestimmten Bereich anwenden. In diesem Fall vom Anfang bis zum Ende des Vektors.

C ++ Druckvektor - std :: copy ()

Wir können auch die STD :: Copy () -Methode aus der Algorithmus -Bibliothek verwenden, um die Vektorelemente in STDOut zu kopieren.

Eine Abbildung ist unten gezeigt:

#enthalten
#enthalten
#enthalten
#enthalten
intmain ()
std :: vectormy_Vector = 1,2,3,4,5;
Kopieren (my_Vector.begin (), my_Vector.end (), std :: ostream_iterator (std :: cout, ""));

C ++ Druckvektor - Überlastung STD :: ostream :: operator<<

Wir können auch den Insertionsbetreiber verwenden, um einen Vektor zu drucken. Dies funktioniert, indem der Insertionsoperator überlastet wird, um ein Ostream -Objekt und einen Vektor zu erkennen.

Nehmen Sie die Beispielabbildung unten:

#enthalten
#enthalten
#enthalten
#enthalten
std :: ostream & operator<< (std::ostream& out, conststd::vector&vec)
für (size_ti = 0; iaus <Wenn (!vec.leer())
aus <<" ";

aus <<"";
zurückkehren;

intmain ()
std :: vectormy_Vector = 1,2,3,4,5;
std :: Cout<

Wenn wir den obigen Code kompilieren und ausführen, sollte er die Elemente des Arrays wie gezeigt zurückgeben:

$ g ++ vect.CPP
$ ./A.aus
1 2 3 4 5

Abschluss

In diesem Artikel haben wir verschiedene Methoden zum Drucken eines Vektors in C erörtert++.