Heim >Backend-Entwicklung >C++ >C++-Programm zum Konvertieren von Vektoren in Listen
Vektoren in C++ sind dynamische Arrays, die jede Art von Daten enthalten können, entweder benutzerdefiniert oder primitiv. Dynamisch bedeutet, dass die Größe des Vektors je nach Vorgängen zunehmen oder abnehmen kann. Vektoren unterstützen verschiedene Funktionen und die Datenmanipulation ist sehr einfach. Andererseits ist eine Liste derselbe Container wie ein Vektor, aber im Vergleich zur Array-Implementierung von Vektoren basiert die Listenimplementierung auf einer doppelt verknüpften Liste. Listen bieten überall in ihnen die gleiche konstante Zeitoperation, was das Hauptmerkmal der Verwendung von Listen ist. Schauen wir uns die wichtigsten Methoden zum Konvertieren von Vektoren in Listen an.
Um den Bereichskonstruktor zu verwenden, müssen Sie beim Erstellen der Liste die Start- und Endzeiger des Vektors als Parameter an den Konstruktor übergeben.
vector <int> ip; list <int> op( ip.begin(), ip.end() );
#include <iostream> #include <vector> #include <list> using namespace std; list <int> solve( vector <int> ip) { //initialise the list list <int> op( ip.begin(), ip.end() ); return op; } int main() { vector <int> ip( { 15, 20, 65, 30, 24, 33, 12, 29, 36, 58, 96, 88, 30, 71 } ); list <int> op = solve( ip ); //display the input cout<< "The input vector is: "; for( int i : ip ) { cout<< i << " "; } //display the output cout << "\nThe output list is: "; for( int j : op ) { cout << j << " "; } return 0; }
The input vector is: 15 20 65 30 24 33 12 29 36 58 96 88 30 71 The output list is: 15 20 65 30 24 33 12 29 36 58 96 88 30 71
Die Verwendung von std::list ähnelt der Verwendung des Bereichskonstruktors. Wir übergeben die Start- und Endzeiger des Vektors auf die gleiche Weise wie der Bereichskonstruktor.
vector <int> ip; list <int> op(); op.assign(ip.begin(), ip.end());
#include <iostream> #include <vector> #include <list> using namespace std; list <int> solve( vector <int> ip) { //initialise the list list <int> op; op.assign( ip.begin(), ip.end() ); return op; } int main() { vector <int> ip( { 40, 77, 8, 65, 92 ,13, 72, 30, 67, 12, 88, 37, 18, 23, 41} ); list <int> op = solve( ip ); //display the input cout<< "The input vector is: "; for( int i : ip ) { cout<< i << " "; } //display the output cout << "\nThe output list is: "; for( int j : op ) { cout << j << " "; } return 0; }
The input vector is: 40 77 8 65 92 13 72 30 67 12 88 37 18 23 41 The output list is: 40 77 8 65 92 13 72 30 67 12 88 37 18 23 41
Mit der Einfügefunktion der Liste können wir Daten aus einem Vektor in eine Liste einfügen. Listen erfordern Zeiger auf den Anfang der Liste und Zeiger auf den Anfang und das Ende des Vektors.
vector <int> ip; list <int> op(); op.insert(op.begin(), ip.begin(), ip.end());
#include <iostream> #include <vector> #include <list> using namespace std; list <int> solve( vector <int> ip) { //initialise the list list <int> op; op.insert( op.begin(), ip.begin(), ip.end() ); return op; } int main() { vector <int> ip( { 30, 82, 7, 13, 69, 53, 70, 19, 73, 46, 26, 11, 37, 83} ); list <int> op = solve( ip ); //display the input cout<< "The input vector is: "; for( int i : ip ) { cout<< i << " "; } //display the output cout << "\nThe output list is: "; for( int j : op ) { cout << j << " "; } return 0; }
The input vector is: 30 82 7 13 69 53 70 19 73 46 26 11 37 83 The output list is: 30 82 7 13 69 53 70 19 73 46 26 11 37 83
In C++ hat die Konvertierung eines Vektors in eine Liste den Vorteil einer einheitlichen Operationskomplexität überall in der Liste. Es gibt mehrere Möglichkeiten, einen Vektor in eine Liste umzuwandeln. Allerdings haben wir hier nur die einfachsten und schnellsten Methoden erwähnt.
Das obige ist der detaillierte Inhalt vonC++-Programm zum Konvertieren von Vektoren in Listen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!