Some Basic Operations on std::list

  • front() Returns the value of the first element in the list.
  • back() Returns the value of the last element in the list.
  • push_front() Adds a new element ‘g’ at the beginning of the list.
  • push_back() Adds a new element ‘g’ at the end of the list.
  • pop_front() Removes the first element of the list, and reduces the size of the list by 1.
  • pop_back() Removes the last element of the list, and reduces the size of the list by 1.
  • insert() Inserts new elements in the list before the element at a specified position.
  • size() Returns the number of elements in the list.
  • begin() begin() function returns an iterator pointing to the first element of the list.
  • end() end() function returns an iterator pointing to the theoretical last element which follows the last element.

The below example demonstrates the general use of list containers and their basic functions in C++.

Example:

C++




// C++ program to demonstrate the implementation of List
#include <iostream>
#include <iterator>
#include <list>
using namespace std;
 
// function for printing the elements in a list
void showlist(list<int> g)
{
    list<int>::iterator it;
    for (it = g.begin(); it != g.end(); ++it)
        cout << '\t' << *it;
    cout << '\n';
}
 
// Driver Code
int main()
{
 
    list<int> gqlist1, gqlist2;
 
    for (int i = 0; i < 10; ++i) {
        gqlist1.push_back(i * 2);
        gqlist2.push_front(i * 3);
    }
    cout << "\nList 1 (gqlist1) is : ";
    showlist(gqlist1);
 
    cout << "\nList 2 (gqlist2) is : ";
    showlist(gqlist2);
 
    cout << "\ngqlist1.front() : " << gqlist1.front();
    cout << "\ngqlist1.back() : " << gqlist1.back();
 
    cout << "\ngqlist1.pop_front() : ";
    gqlist1.pop_front();
    showlist(gqlist1);
 
    cout << "\ngqlist2.pop_back() : ";
    gqlist2.pop_back();
    showlist(gqlist2);
 
    cout << "\ngqlist1.reverse() : ";
    gqlist1.reverse();
    showlist(gqlist1);
 
    cout << "\ngqlist2.sort(): ";
    gqlist2.sort();
    showlist(gqlist2);
 
    return 0;
}


Output

List 1 (gqlist1) is :     0    2    4    6    8    10    12    14    16    18

List 2 (gqlist2) is :     27    24    21    18    15    12    9    6    3    0

gqlist1.front() : 0
gqlist1.back() : 18
gqlist1.pop_front() :     2    4    6    8    10    12    14    16    18

gqlist2.pop_back() :     27    24    21    18    15    12    9    6    3

gqlist1.reverse() :     18    16    14    12    10    8    6    4    2

gqlist2.sort():     3    6    9    12    15    18    21    24    27

The above example only demonstrates the general usage of the std::list and its member functions. The below table provides all the member functions of std::list class and links to their detailed explanation.

List in C++ Standard Template Library (STL)

Lists are sequence containers that allow non-contiguous memory allocation. As compared to the vector, the list has slow traversal, but once a position has been found, insertion and deletion are quick (constant time). Normally, when we say a List, we talk about a doubly linked list. For implementing a singly linked list, we use a forward_list.

std::list is the class of the List container. It is the part of C++ Standard Template Library (STL) and is defined inside <list> header file.

Syntax:

std::list <data-type> name_of_list;

Example:

C++




// C++ program to demonstrate the use of list containers
#include <iostream>
#include <list>
using namespace std;
 
int main()
{
    // defining list
    list<int> gqlist{12,45,8,6};
 
    for (auto i : gqlist) {
        cout << i << ' ';
    }
    return 0;
}


Output

12 45 8 6 

In the above example, we created a std::list object named gqlist and initialized it using an initializer_list. We can initialize the std::list objects using many different ways mentioned here.

Similar Reads

Some Basic Operations on std::list

...

std::list Member Functions

front() – Returns the value of the first element in the list. back() – Returns the value of the last element in the list. push_front() – Adds a new element ‘g’ at the beginning of the list. push_back() – Adds a new element ‘g’ at the end of the list. pop_front() – Removes the first element of the list, and reduces the size of the list by 1. pop_back() – Removes the last element of the list, and reduces the size of the list by 1. insert() – Inserts new elements in the list before the element at a specified position. size() – Returns the number of elements in the list. begin() – begin() function returns an iterator pointing to the first element of the list. end() – end() function returns an iterator pointing to the theoretical last element which follows the last element....

Points to Remember about List Container

...