list::begin() and list::end() in C++ STL
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
#include <iostream>
#include <list>
using namespace std;
int main()
{
list< int > mylist{ 1, 2, 3, 4, 5 };
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
#include <iostream>
#include <list>
using namespace std;
int main()
{
list< int > mylist{ 1, 2, 3, 4, 5 };
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::begin |
list::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. |
Last Updated :
07 Aug, 2022
Like Article
Save Article
Share your thoughts in the comments
Please Login to comment...