Javatpoint Logo
Javatpoint Logo

Difference between list::emplace_front() and list::emplace_back() in C++

In this article, we will look at the structures, syntax, and differences of list::emplace_front() and list::emplace_back() functions in C++. But before discussing their differences, we must know about the List.

What is a List in STL?

A list is a type of data structure that allows for constant insertion and deletion of items anywhere in the sequence. Double-linked lists are used to implement lists. Non-contiguous allocation of memory is possible with lists. Lists outperform arrays, vectors, and dequeues in terms of element insertion, extraction, and movement in any place within a container. The list is similar to forward_list because direct access to the element is slow, while forward-list objects are single-linked collections that can only be iterated forwards.

What is the function list::emplace_front()?

The list::emplace_front() is a built-in C++ STL function that is declared in the <list> header file. The emplace_front() function is used to insert an element at the beginning of the list containers. If the container is empty, it makes the element in the first location to the front, and the part becomes the initial element. If the container already has elements in it, the function inserts the component passed to it for the front, and the one that's already in the first position becomes the second element. This function increases the container's actual size by 1.

Syntax:

It has the following syntax:

What does function list::emplace_back() do?

The function list::emplace_front() in the C++ STL defined in the <list> header file inserts a new element at the end of the list. If the list is empty, the element becomes the first and only element. If elements already exist in the list, the new element is inserted first, and the first existing element becomes the second. This operation increases the size of the container by 1.

Syntax:

It has the following syntax:

Key Differences between list::emplace_front() and list::emplace_back():

Difference between list::emplace_front() and list::emplace_back() in C++

There are several differences between the list::emplace_front() and list::emplace_back() method. Some main differences between these methods are as follows:

Aspect emplace_front() emplace_back()
Operation It constructs the element at the start of the list of items. It constructs the element at the bottom of the list of items.
Insertion Position The element is inserted before all of the previous ones. The element is inserted after all elements have been added.
Time ComplicacyO(1) It has constant time complexity O(1). It has constant time complexity.
The Impact on Existing There is no influence on current components; they move forward. Existing elements are unaffected; they stay unmodified.
Usage It is useful for keeping things in chronological or reverse order. It is useful for adding pieces or keeping things in order.
Parameterize It can be used for element construction , accepts constructor parameters. For element construction, accepts constructor parameters.
Return on Investment Iterator with a pointer to the inserted element. Iterator with a pointer to the inserted element.






Youtube For Videos Join Our Youtube Channel: Join Now

Feedback


Help Others, Please Share

facebook twitter pinterest

Learn Latest Tutorials


Preparation


Trending Technologies


B.Tech / MCA