 GeeksforGeeks App
Open App Browser
Continue

# list::empty() and list::size() 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::empty()

empty() function is used to check if the list container is empty or not. Syntax :

```listname.empty()
Parameters :
No parameters are passed.
Returns :
True, if list is empty
False, Otherwise```

Examples:

```Input  : list list{1, 2, 3, 4, 5};
list.empty();
Output : False

Input  : list list{};
list.empty();
Output : True```

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 empty() function``#include ``#include ``using` `namespace` `std;` `int` `main()``{``    ``list<``int``> mylist{};``    ``if` `(mylist.empty()) {``        ``cout << ``"True"``;``    ``}``    ``else` `{``        ``cout << ``"False"``;``    ``}``    ``return` `0;``}`

Output:

`True`

Time Complexity: O(1)

Application : Given a list of integers, find the sum of the all the integers.

```Input  : 1, 5, 6, 3, 9, 2
Output : 26
Explanation -  1+5+6+3+9+2 = 26```

Algorithm

1. Check if the list is empty, if not add the front element to a variable initialised as 0, and pop the front element.
2. Repeat this step until the list is empty.
3. Print the final value of the variable.

## CPP

 `// CPP program to illustrate``// Application of empty() function``#include ``#include ``using` `namespace` `std;` `int` `main()``{``    ``int` `sum = 0;``    ``list<``int``> mylist{ 1, 5, 6, 3, 9, 2 };``    ``while` `(!mylist.empty()) {``        ``sum = sum + mylist.front();``        ``mylist.pop_front();``    ``}``    ``cout << sum;``    ``return` `0;``}`

Output:

`26`
list::size()

size() function is used to return the size of the list container or the number of elements in the list container. Syntax :

```listname.size()
Parameters :
No parameters are passed.
Returns :
Number of elements in the container.```

Examples:

```Input  : list list{1, 2, 3, 4, 5};
list.size();
Output : 5

Input  : list list{};
list.size();
Output : 0```

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 size() function``#include ``#include ``using` `namespace` `std;` `int` `main()``{``    ``list<``int``> mylist{ 1, 2, 3, 4, 5 };``    ``cout << mylist.size();``    ``return` `0;``}`

Output:

`5`

Application : Given a list of integers, find the sum of the all the integers.

```Input  : 1, 5, 6, 3, 9, 2
Output : 26
Explanation -  1+5+6+3+9+2 = 26```

Algorithm

1. Check if the size of the list is 0, if not add the front element to a variable initialised as 0, and pop the front element.
2. Repeat this step until the list is empty.
3. Print the final value of the variable.

## CPP

 `// CPP program to illustrate``// Application of size() function``#include ``#include ``using` `namespace` `std;` `int` `main()``{``    ``int` `sum = 0;``    ``list<``int``> mylist{ 1, 5, 6, 3, 9, 2 };``    ``while` `(mylist.size() > 0) {``        ``sum = sum + mylist.front();``        ``mylist.pop_front();``    ``}``    ``cout << sum;``    ``return` `0;``}`

Output:

`26`

Time Complexity: O(1)

Auxiliary Space: O(1)

Let us see the differences in a tabular form -:

My Personal Notes arrow_drop_up