DEV Community

Cover image for List Constructor
Mujahida Joynab
Mujahida Joynab

Posted on

List Constructor

What is Vector?

  • Library of a dynamic array What is List?
  • Library of a doubly Linked List

How to declare list -

listmylist;

`#include
using namespace std;

int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
list l;

return 0;
Enter fullscreen mode Exit fullscreen mode

}
Initializing Time Complexity - O(1) .
Now it is NULL .
**2. list<type>myList(N)**
#include
using namespace std;

int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
list l;
cout << l.size() << endl;

return 0;
Enter fullscreen mode Exit fullscreen mode

}`

Output - 0

How to initialize a array of list ?
`#include
using namespace std;

int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
list l(10);
cout << l.size() << endl;

return 0;
Enter fullscreen mode Exit fullscreen mode

}

How to set value?
**list<typ>myList(N,P)**
#include
using namespace std;

int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
list l(10, 3);
cout << *l.begin() << endl; // Iterator as it is doubly linked list . Can't access it like vector l[0]
return 0;

}
To print all values -
#include
using namespace std;

int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
list l(10, 3);
for (auto it = l.begin(); it != l.end(); it++) // auto keyword because it is doubly linked list . There is no index in doubly linked list .
{
cout << *it << endl;
}
return 0;
}`

Can you visualize differences between list and vector? If not learn doubly linked list to visualize list.

Output -
3
3
3
3
3
3
3
3
3
3

Printing with range based for loop -

`#include
using namespace std;

int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
list l(10, 5);
for(int val : l){
cout << val << endl;
}
}`
It is easy to write .

Copying one string to another
listmyList(list2)

`#include
using namespace std;

int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
list l = {1, 2, 3, 4, 5};
list l2(l);
for (int val : l2)
{
cout << val << endl;
}
return 0;
}`
Output -
1
2
3
4
5

We can use here array beside list for copying .
How to use?
listmyList(A,A+N)

`#include
using namespace std;

int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
list l = {1, 2, 3, 4, 5};

int a[] = {1, 2, 3};
list<int> l2(a, a + 3);
for (int val : l2)
{
    cout << val << endl;
}
return 0;
Enter fullscreen mode Exit fullscreen mode

}`

We can use vector as well -
How to use ?
listmyList(v.begin(),v.end())

`#include
using namespace std;

int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
vector v = {10, 20, 30};
list l2(v.begin(), v.end());

for (int val : l2)
{
    cout << val << endl;
}
return 0;`
Enter fullscreen mode Exit fullscreen mode

}

All functions of constructors -
Constructor

Summary of Constructor

listmylist - Construct a list with 0 elements . TC - O(1)
listmyList(N) - Construct a list with N elements and the value will be garbage - TC - O(N)
listmyList(N,P) - Construct a list with N elements and the value will be P . TC - O(N)
listmyList(list2) - Construct a list by copying another list list2 . TC - O(N)
listmyList(A,A+N) - Construct a list by copying all elements from an array A of size N . TC - O(N)
listmyList(v.begin(),v.end()) - Construct a list by copying all elements from a vector v . TC - O(N)

Sentry image

See why 4M developers consider Sentry, “not bad.”

Fixing code doesn’t have to be the worst part of your day. Learn how Sentry can help.

Learn more

Top comments (0)

Sentry image

See why 4M developers consider Sentry, “not bad.”

Fixing code doesn’t have to be the worst part of your day. Learn how Sentry can help.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay