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
        
    
    Creating a list by assigning the all elements of another list
    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());
    C++ program to create a list by assigning the all elements of another list
    In this program, 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.
#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  
    
    
  
    Advertisement
    
    
    
  
  
    Advertisement