Open In App

list::begin() and list::end() in C++ STL

Last Updated : 07 Aug, 2022
Suggest changes
Share
11 Likes
Like
Report

Lists are containers used in C++ to store data in a non-contiguous fashion, Normally, Arrays and Vectors are contiguous in nature, therefore the insertion and deletion operations are costlier as compared to the insertion and deletion option in Lists.

list::begin()


begin() function is used to return an iterator pointing to the first element of the list container. It is different from the front() function because the front function returns a reference to the first element of the container but begin() function returns a bidirectional iterator to the first element of the container.

Syntax:

listname.begin() 
Parameters : No parameters are passed. Returns : This function returns a bidirectional iterator pointing to the first element.

Examples:  

Input : mylist{1, 2, 3, 4, 5}; mylist.begin(); Output : returns an iterator to the element 1 Input : mylist{8, 7}; mylist.begin(); Output : returns an iterator to the element 8

Errors and Exceptions
1. It has a no exception throw guarantee. 
2. Shows error when a parameter is passed. 

CPP
// CPP program to illustrate // Implementation of begin() function #include <iostream> #include <list> using namespace std; int main() {  // declaration of list container  list<int> mylist{ 1, 2, 3, 4, 5 };  // using begin() to print list  for (auto it = mylist.begin(); it !=   mylist.end(); ++it)  cout << ' ' << *it;  return 0; } 

Output: 

1 2 3 4 5

Time Complexity: O(1) 

Auxiliary Space: O(n) where n is size of list container

list::end()


end() function is used to return an iterator pointing to the last element of the list container. It is different from the back() function because the back() function returns a reference to the last element of the container but end() function returns a bidirectional iterator to the past the last element of the container.

Syntax: 

listname.end()

Parameters: NA

Return Type: This function returns a bidirectional iterator pointing to the past the last element.

Errors and Exceptions

  • It has a no exception throw guarantee. 
  • Shows error when a parameter is passed.
CPP
// CPP program to illustrate // Implementation of end() function #include <iostream> #include <list> using namespace std; int main() {  // declaration of list container  list<int> mylist{ 1, 2, 3, 4, 5 };  // using end() to print list  for (auto it = mylist.begin(); it != mylist.end(); ++it)  cout << ' ' << *it;  return 0; } 

Output: 

1 2 3 4 5

Time Complexity: O(1) 

Auxiliary Space: O(1)

Let us see the differences in a tabular form is shown below as follows: 

list::beginlist::end
It is used to return an iterator pointing to the first element in the list container.It is used to return an iterator referring to the past-the-end element in the list container.

Its syntax is as follows:

iterator begin();

Its syntax is as follows:

iterator end();
It does not take any parameters.It does not take any parameters.
Its complexity is constant.Its complexity is constant.
Its iterator validity does not change.Its iterator validity does not change.

Article Tags :

Explore