Home »
C++ STL
Creating a list by assigning the all elements of another list | C++ STL
Here, we are going to learn how to create a list by assigning the all elements of an existing list in C++ STL? It can be possible by direct assigning list and using list::assign() function.
Submitted by IncludeHelp, on November 02, 2018
There are two methods to implement it...
1 ) by assigning the existing list direct to the new list
list<int> list2 = list1;
2 ) by using list::assign() function
list<int> list2;
list2.assign(list1.begin(), list1.end());
Example:
In this example, we have a list list1 with 10 elements and we are creating another list list2, the elements of list2 will be assigning through the list1 by using list:assign() function, which is a library function of "list header". And, we are also creating a list list3 that is going to be assigned directly through the list1.
Program:
#include <iostream>
#include <list>
using namespace std;
//function to display the list
void dispList(list<int> L)
{
//declaring iterator to the list
list<int>::iterator l_iter;
for (l_iter = L.begin(); l_iter != L.end(); l_iter++)
cout<< *l_iter<< " ";
cout<<endl;
}
int main()
{
//list1 declaration
list<int> list1 = {10, 20, 30, 40, 50, 60, 70, 80, 90, 100};
//displaying list1
cout<<"Size of list1: "<<list1.size()<<endl;
cout<<"Elements of list1: ";
dispList(list1);
//declaring list2 and assigning the Elements
//of list1
list<int> list2;
list2.assign(list1.begin(), list1.end());
//displaying list2
cout<<"Size of list2: "<<list2.size()<<endl;
cout<<"Elements of list2: ";
dispList(list2);
//declaring list3 by assigning with list1
list<int> list3 = list1;
//displaying list3
cout<<"Size of list3: "<<list3.size()<<endl;
cout<<"Elements of list3: ";
dispList(list3);
return 0;
}
Output
Size of list1: 10
Elements of list1: 10 20 30 40 50 60 70 80 90 100
Size of list2: 10
Elements of list2: 10 20 30 40 50 60 70 80 90 100
Size of list3: 10
Elements of list3: 10 20 30 40 50 60 70 80 90 100