Home >Backend Development >C++ >C++ program to convert list to set
Lists in C are containers like vectors, but the implementation of lists is based on double Linked lists compared to array implementations of vectors. The list generally does not include The elements in the list are distributed in consecutive positions memory. Lists provide the same constant time operation everywhere in them, which is the main Use list features. On the other hand, a collection is a container that contains unique values Some type and all elements are sorted in ascending order. These two containers are Different, but there are multiple ways to convert a list into a set. We discuss the method Details are as follows.
The simplest and most naive way is to define two different containers; one of the list type The other is a set type, which copies each element of the list into a collection.
list<int> myList; set<int> mySet; for ( int const &val: myList ) { mySet.insert(val); }
#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; }
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
The start and end pointers of the list must be provided as parameters of the constructor Use range constructors when building collections.
list<int> myList; set<int> mySet(begin(myList), end(myList));
Get input in a list.
When creating a collection, pass the start and end pointers of the list to the collection's range constructor.
Display the contents of the collection.
#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; }
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
The copy function in C allows copying data from one container to another. need to use Copy function, start and end pointers of the list must be passed as parameters to functions and pointers to collections and the beginning of collections within collections Inserter function.
list<int> myList; set<int> mySet; copy(begin(myList), end(myList), inserter(mySet, begin(mySet)));
Get input in a list.
Define a new collection.
Pass the start and end pointers of the list as well as the collection and the pointer to the beginning of the collection in the inserter function as arguments to the copy function.
Display the contents of the collection.
#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; }
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
When we use sets, we cannot add or store duplicate elements to the set, but Allows duplicate elements to be stored in a list or array-like data structure. have In some cases, it is preferred to use a set instead of a list. These conversions The techniques we've seen before can really help with this.
The above is the detailed content of C++ program to convert list to set. For more information, please follow other related articles on the PHP Chinese website!