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

Program C++ untuk menukar senarai kepada set

WBOY
Lepaskan: 2023-09-08 09:53:03
ke hadapan
1510 orang telah melayarinya

Program C++ untuk menukar senarai kepada set

Senarai dalam C++ adalah bekas seperti vektor, tetapi pelaksanaan senarai adalah berdasarkan dua kali ganda Senarai terpaut berbanding dengan pelaksanaan tatasusunan vektor. Senarai itu secara amnya tidak termasuk Unsur-unsur dalam senarai diedarkan dalam kedudukan berturut-turut ingatan. Senarai menyediakan operasi masa tetap yang sama di mana-mana di dalamnya, yang merupakan yang utama Gunakan ciri senarai. Sebaliknya, koleksi ialah bekas yang mengandungi nilai unik Beberapa jenis dan semua elemen diisih mengikut tertib menaik. Dua bekas ini adalah Berbeza, tetapi terdapat pelbagai cara untuk menukar senarai menjadi set. Kami membincangkan kaedah Butiran di bawah.

Kaedah mudah

Cara paling mudah dan paling naif ialah mentakrifkan dua bekas berbeza; Yang lain ialah jenis set, yang menyalin setiap elemen senarai ke dalam koleksi.

Tatabahasa

list<int> myList;
set<int> mySet;
for ( int const &val: myList ) {
   mySet.insert(val);
}
Salin selepas log masuk

Algoritma

  • Dapatkan input dalam senarai.
  • Lelaran setiap elemen dalam senarai dan masukkannya ke dalam koleksi.
  • Tunjukkan kandungan koleksi.

Contoh

#include <iostream>
#include <set>
#include <list>
using namespace std;
int main(){
   
   //initializing the list
   list<int> myList = { 10, 30, 65, 98, 76, 44, 32, 73, 81, 29 };
   set<int> mySet;
   cout<< "The list contents are:" << endl;
   
   //displaying the list contents
   for ( int const &val: myList ) {
      cout << val << ' ';
   }
   
   //copying the elements of the list
   for ( int const &val: myList ) {
      mySet.insert(val);
   }
   cout << "\nThe set contents are:" << endl;
   for ( int const &val: mySet ) {
      cout << val << ' ';
   }
   return 0;
}
Salin selepas log masuk

Output

The list contents are:
10 30 65 98 76 44 32 73 81 29 
The set contents are:
10 29 30 32 44 65 73 76 81 98 
Salin selepas log masuk

Gunakan pembina julat

Penunjuk permulaan dan penamat senarai mesti disediakan sebagai parameter pembina Gunakan pembina julat semasa membina koleksi.

Tatabahasa

list<int> myList;
set<int> mySet(begin(myList), end(myList));
Salin selepas log masuk

Algoritma

  • Dapatkan input dalam senarai.

  • Apabila membuat koleksi, hantarkan penunjuk permulaan dan penamat senarai kepada pembina julat koleksi.

  • Tunjukkan kandungan koleksi.

Contoh

#include <iostream>
#include <set>
#include <list>
using namespace std;
int main(){
   
   //initializing the list
   list<int> myList = { 30, 70, 56, 89, 67, 44, 23, 37, 18, 92 };
   
   //using the range constructor
   set<int> mySet(begin(myList), end(myList));
   cout<< "The list contents are:" << endl;
   
   //displaying the list contents
   for ( int const &val: myList ) {
      cout << val << ' ';
   }
   cout << "\nThe set contents are:" << endl;
   for ( int const &val: mySet ) {
      cout << val << ' ';
   }
   return 0;
}
Salin selepas log masuk

Output

The list contents are:
30 70 56 89 67 44 23 37 18 92 
The set contents are:
18 23 30 37 44 56 67 70 89 92 
Salin selepas log masuk

Gunakan fungsi salin

Fungsi salin dalam C++ membolehkan menyalin data dari satu bekas ke bekas yang lain. Untuk menggunakan Fungsi salin, penunjuk mula dan akhir senarai mesti diluluskan sebagai parameter kepada fungsi dan petunjuk kepada koleksi dan permulaan koleksi dalam koleksi Fungsi penyisipan.

Tatabahasa

list<int> myList;
set<int> mySet;
copy(begin(myList), end(myList), inserter(mySet, begin(mySet)));
Salin selepas log masuk

Algoritma

  • Dapatkan input dalam senarai.

  • Tentukan koleksi baharu.

  • Lulus penunjuk mula dan akhir senarai sebagai parameter kepada fungsi salin serta koleksi dan penuding ke permulaan koleksi dalam fungsi sisip.

  • Menunjukkan kandungan koleksi.

Contoh

#include <iostream>
#include <set>
#include <list>
using namespace std;
int main(){
   
   //initializing the list
   list<int> myList = { 33, 74, 52, 84, 65, 47, 28, 39, 13, 96 };
   set<int> mySet;
   
   //using the copy function
   copy(begin(myList), end(myList), inserter(mySet, begin(mySet)));
   cout<< "The list contents are:" << endl;
   
   //displaying the list contents
   for ( int const &val: myList ) {
      cout << val << ' ';
   }
   cout << "\nThe set contents are:" << endl;
   for ( int const &val: mySet ) {
      cout << val << ' ';
   }
   return 0;
}
Salin selepas log masuk

Output

The list contents are:
33 74 52 84 65 47 28 39 13 96 
The set contents are:
13 28 33 39 47 52 65 74 84 96 
Salin selepas log masuk

Kesimpulan

Apabila kita menggunakan set, kita tidak boleh menambah atau menyimpan elemen pendua pada set, tetapi Membenarkan elemen pendua disimpan dalam senarai atau struktur data seperti tatasusunan. mempunyai Dalam sesetengah kes, lebih disukai untuk menggunakan set dan bukannya senarai. Penukaran ini Teknik yang telah kita lihat sebelum ini benar-benar boleh membantu dengan ini.

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

sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan