Heim >Backend-Entwicklung >C++ >C++-Programm zum Konvertieren von Vektoren in Listen

C++-Programm zum Konvertieren von Vektoren in Listen

WBOY
WBOYnach vorne
2023-09-10 08:49:031359Durchsuche

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.

Bereichskonstruktor verwenden

Um den Bereichskonstruktor zu verwenden, müssen Sie beim Erstellen der Liste die Start- und Endzeiger des Vektors als Parameter an den Konstruktor übergeben.

Grammatik

vector <int> ip;
list <int> op( ip.begin(), ip.end() );

Algorithmus

  • Speichern Sie die Eingabe in einem Vektor.
  • Übergeben Sie die Start- und Endzeiger des Vektors an den Bereichskonstruktor der Liste.
  • Zeigen Sie den Inhalt der Liste.

Beispiel

#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;
}

Ausgabe

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

Verwenden Sie die Zuweisungsfunktion von std::list

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.

Grammatik

vector <int> ip;
list <int> op();
op.assign(ip.begin(), ip.end());

Algorithmus

  • Speichern Sie die Eingabe in einem Vektor.
  • Definieren Sie eine neue Liste.
  • Übergeben Sie die Start- und Endzeiger des Vektors an die Zuweisungsfunktion der Liste
  • Zeigen Sie den Inhalt der Liste.

Beispiel

#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;
}

Ausgabe

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 

Verwenden Sie die Funktion zum Einfügen von Listen

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.

Grammatik

vector <int> ip;
list <int> op();
op.insert(op.begin(), ip.begin(), ip.end());

Algorithmus

  • Speichern Sie die Eingabe in einem Vektor.
  • Definieren Sie eine neue Liste.
  • Übergeben Sie den Startzeiger der Liste sowie die Start- und Endzeiger
  • Ein Vektor von Listeneinfügefunktionen.
  • Zeigen Sie den Inhalt der Liste.

Beispiel

#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;
}

Ausgabe

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 

Fazit

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen