Heim > Backend-Entwicklung > C++ > Hauptteil

C++-Programm zum Konvertieren von Vektoren in Listen

WBOY
Freigeben: 2023-09-10 08:49:03
nach vorne
1300 Leute haben es durchsucht

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() );
Nach dem Login kopieren

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;
}
Nach dem Login kopieren

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
Nach dem Login kopieren

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());
Nach dem Login kopieren

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;
}
Nach dem Login kopieren

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 
Nach dem Login kopieren

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());
Nach dem Login kopieren

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;
}
Nach dem Login kopieren

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 
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!