# Nested list in C++ STL

• Last Updated : 18 Sep, 2018

list in STL is used to represent a linked list in C++. How to create a nested list. We are given n lists, we need to create a list of n lists.

Examples:

Want to learn from the best curated videos and practice problems, check out the C++ Foundation Course for Basic to Advanced C++ and C++ STL Course for the language and STL. To complete your preparation from learning a language to DS Algo and many more, please refer Complete Interview Preparation Course.
```Input :  Number of lists: 2
1st list: {1 2}
2nd list:  {3 4 5 6
Output :
[
[ 1  2 ]
[ 3  4  5  6 ]
]

Input : Number of lists: 3
1st list : {0 1}
2nd list : {1 2 3}
3rd list : {2 3 4 5}
Output :
[
[ 0  1 ]
[ 1  2  3 ]
[ 2  3  4  5 ]
]
```
 `// c++ program for nested list`` ` `#include ``#include ``#include ``using` `namespace` `std;`` ` `void` `printNestedList(list > nested_list)``{``    ``cout << ``"[\n"``;`` ` `    ``// nested_list`s iterator(same type as nested_list)``    ``// to iterate the nested_list``    ``list >::iterator nested_list_itr;`` ` `    ``// Print the nested_list``    ``for` `(nested_list_itr = nested_list.begin();``         ``nested_list_itr != nested_list.end();``         ``++nested_list_itr) {`` ` `        ``cout << ``"  ["``;`` ` `        ``// normal_list`s iterator(same type as temp_list)``        ``// to iterate the normal_list``        ``list<``int``>::iterator single_list_itr;`` ` `        ``// pointer of each list one by one in nested list``        ``// as loop goes on``        ``list<``int``>& single_list_pointer = *nested_list_itr;`` ` `        ``for` `(single_list_itr = single_list_pointer.begin();``             ``single_list_itr != single_list_pointer.end();``             ``single_list_itr++) {``            ``cout << ``" "` `<< *single_list_itr << ``" "``;``        ``}``        ``cout << ``"]\n"``;``    ``}``    ``cout << ``"]"``;``}`` ` `// Driver code``int` `main()``{``    ``// instead integer type can have any data type``    ``list > nested_list;``    ``list<``int``> single_list;``    ``int` `n, m, num;`` ` `    ``// number of lists in nested list``    ``n = 3;`` ` `    ``for` `(``int` `i = 0; i < n; i++) {`` ` `        ``// number of elements in list``        ``m = i + 2;``        ``for` `(``int` `j = 0; j < m; j++) {``            ``num = i + j;``            ``single_list.push_back(num);``        ``}`` ` `        ``nested_list.push_back(single_list);`` ` `        ``// delete all elements from single_list``        ``single_list.erase(single_list.begin(),``                          ``single_list.end());``    ``}`` ` `    ``printNestedList(nested_list);`` ` `    ``return` `0;``}`
Output:
```[
[ 0  1 ]
[ 1  2  3 ]
[ 2  3  4  5 ]
]
```

My Personal Notes arrow_drop_up