Rumah >pembangunan bahagian belakang >C++ >Program C++ untuk menukar vektor kepada senarai

Program C++ untuk menukar vektor kepada senarai

WBOY
WBOYke hadapan
2023-09-10 08:49:031351semak imbas

Program C++ untuk menukar vektor kepada senarai

Vektor dalam C++ ialah tatasusunan dinamik yang boleh mengandungi sebarang jenis data, sama ada ditentukan pengguna atau primitif. Dinamik bermakna saiz vektor boleh bertambah atau berkurang berdasarkan operasi. Vektor menyokong pelbagai fungsi dan manipulasi data adalah sangat mudah. Sebaliknya, senarai adalah bekas yang sama dengan vektor, tetapi berbanding dengan pelaksanaan tatasusunan vektor, pelaksanaan senarai adalah berdasarkan senarai terpaut dua kali. Senarai menyediakan operasi masa malar yang sama di mana-mana di dalamnya, yang merupakan ciri utama menggunakan senarai. Mari kita lihat kaedah utama untuk menukar vektor kepada senarai.

Gunakan pembina julat

Untuk menggunakan pembina julat, anda mesti menghantar penunjuk mula dan akhir vektor sebagai parameter kepada pembina semasa membuat senarai.

Tatabahasa

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

Algoritma

  • Simpan input dalam vektor.
  • Lepaskan penunjuk mula dan akhir vektor kepada pembina julat senarai.
  • Tunjukkan kandungan senarai.

Contoh

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

Output

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

Gunakan fungsi tetapkan std::list

Penggunaan std::list adalah serupa dengan penggunaan pembina julat. Kami lulus penunjuk permulaan dan akhir vektor dengan cara yang sama seperti pembina julat.

Tatabahasa

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

Algoritma

  • Simpan input dalam vektor.
  • Tentukan senarai baharu.
  • Lepaskan penunjuk mula dan akhir vektor kepada fungsi tetapkan senarai
  • Tunjukkan kandungan senarai.

Contoh

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

Output

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 

Gunakan fungsi sisipan senarai

Kita boleh memasukkan data daripada vektor ke dalam senarai menggunakan fungsi sisip senarai. Senarai memerlukan penunjuk ke permulaan senarai dan penunjuk ke permulaan dan penghujung vektor.

Tatabahasa

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

Algoritma

  • Simpan input dalam vektor.
  • Tentukan senarai baharu.
  • Lepasi penunjuk permulaan senarai dan penunjuk mula dan tamat
  • Vektor fungsi sisipan senarai.
  • Tunjukkan kandungan senarai.

Contoh

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

Output

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 

Kesimpulan

Dalam C++, menukar vektor kepada senarai mempunyai faedah kerumitan operasi seragam di mana-mana dalam senarai. Terdapat beberapa cara untuk menukar vektor kepada senarai. Walau bagaimanapun, kami hanya menyebut kaedah paling mudah dan terpantas di sini.

Atas ialah kandungan terperinci Program C++ untuk menukar vektor kepada senarai. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam