How to insert elements in C++ STL List?

Introduction

The list provides the most efficient ways to get the benefits of a linked list in C++. STL provides the list implementation and features that we can easily exploit to get the advantages of a linked list.

There are multiple ways in which we can insert an element into the list, we will be discussing some of them here.

Approach #1

Using assign() function, to insert multiple elements in the list in one operation only. It is used to insert multiple elements at once in a list.

syntax: list.assign(number of times, element).

Example #1

#include 
#include  // for list operations
using namespace std;
  
int main() 
{
    list list1;  
    list1.assign(4,2);      
    for (list::iterator i=list1.begin(); i!=list1.end(); i++)
       cout << *i << " ";      
    cout << endl;     
}

Output:

2 2 2 2

Approach #2

Insertion at beginning of the list

The next approach is to insert elements at the beginning of the list. This works in the way when it inserts the element in the list, it increases the list size by 1. push_front() function is used to do the insertion at the beginning of the list.

Example #2

#include 
#include  
using namespace std;
  
int main() 
{
    list list1;
      
    list1.assign(2,2);
       list1.push_front(5);

    for (list::iterator i=list1.begin(); i!=list1.end(); i++)
       cout << *i << " ";
}

Output:

5 2 2

Insertion at end of the list

The next approach is to insert elements at the end of the list. This works in the way when it inserts the element in the list, it increases the list size by 1. push_back() function is used to do the insertion at the end of the list.

Example #3

#include 
#include  
using namespace std;
  
int main() 
{
    list list1;
      
    list1.assign(2,2);
       list1.push_back(5);

    for (list::iterator i=list1.begin(); i!=list1.end(); i++)
       cout << *i << " ";
}

Output:

2 2 5

Insertion at any specific in the list

The next approach is to insert elements at any specific position in the list. This works in the way when it inserts the element in the list, it increases the list size by 1. insert() function is used to do the insertion at any specific position in the list. This function insert(pos_iterator, num_elements, element) takes 3 arguments position, number of elements to insert and the element to insert. If number of elements to insert is not mentioned, it is default set to 1.

Example #4

#include 
#include 
using namespace std;
 
int main()
{
    list list1;
      
    list1.assign(5,2);
    list::iterator it = list1.begin();
    advance(it,2);
    list1.insert(it,3);

    for (list::iterator i=list1.begin(); i!=list1.end(); i++){
          cout << *i << " ";
      }
    cout<::iterator i=list1.begin(); i!=list1.end(); i++){
            cout << *i << " ";
      }
}

Output:

2 2 3 2 2 2
2 2 3 4 4 2 2 2

This blog tried to discuss the insertion methods in a list in C++ STL. STL provides more such functionalities and features to insert and use lists in C++. The popular insertion methods are discussed. To practice more such linked list related problems you can check out PrepBytes Linked List.

Previous post Create Linked List From A Given Array
Next post Circular Linked List (Introduction and Applications)

Leave a Reply

Your email address will not be published. Required fields are marked *