STL std::list | Modern Cpp Series Ep. 118
Вставка
- Опубліковано 29 вер 2024
- ►Full C++ Series Playlist: • The C++ Programming La...
►Find full courses on: courses.mshah.io/
►Join as Member to Support the channel: / @mikeshah
►Lesson Description: In this lesson I give you an introduction to the std::list data structure. Lists are node based data structures using pointers behind the scenes to help you achieve fast insertion and removal at the trade-off of random access.
►UA-cam Channel: / mikeshah
►Please like and subscribe to help the channel!
►Join our free community: courses.mshah.... - Наука та технологія
I've never had a use for linked lists (yet), but I have a soft spot for them. It was while learning python and creating my own linked list class, that programming finally "clicked" for me. Instead of needing to look at the tutorial and just copy/paste, I could actually create every method on my own. 🙂
Just a heads uo; Splice can also be used to move an element within a list. Details in cppreference std::list::splice.
Neat -- it would be a flaw in the design in my opinion if we could not splice within the same list.
Keep up the good work Mr Mike this video has been very helpful. Your teaching method is one of the best I have seen on the internet
Cheers, thank you!
youre one of the different teacher sir, please show us something that others don't share , like u did in this video
Cheers, thank you for the kind words!
thanks if you touch any topics ,please discuss deeply by showing cpprefferance , and this helps learning when u talk half an hour and show everything inside out.god bless u@@MikeShah
@24:10, i think in the 'merge' operation of a std::list, nodes from one list ( 'other' in this context) are reorganized into another list (list). This is done by adjusting the next and previous pointers of the nodes, rather than moving or copying the data they contain. This makes the merge operation more efficient than similar operations on other data structures, like arrays or vectors.
After the merge operation, ' other' no longer contains any nodes. Its internal pointer to its first node (i.e., its "head") is set to nullptr, giving the impression that the list is now empty. In essence, 'other' as a standalone list no longer contains any elements. However, it's important to note that the nodes from 'other' have not been destroyed or removed. Instead, they've been linked into list. This is the beauty of the linked list data structure and the merge operation: it can reorganize data efficiently by manipulating pointers, without the need to physically move or copy the data. That's my understanding of merge in std::list. Thanks for the great video Mike! 👏 I am watching the whole STL series for the second time and learning new thingS.
Awesome! Yes, linked list can really do some neat things :)
Amazing tutorials about STL, very handy!
Cheers!
Thanks much!
Cheers!
Great video
Cheers!
@4:16 When you say as long as we have iterator , this also mean we are having O(i) if i is the position of the list in the std::list object right? it wouldn't be O(1) if we calculate iterator part too.
Correct, if we have an iterator then we can insert in O(1)
@@MikeShah Thank you so much.
Helpful and informative, thanks for continuing the series. How about having light theme over dark for tutorials.
Cheers. Will consider that
keep going dont stop mate
More on the way 🙂
You're so cool, thanks again
Cheers!
@@MikeShahstill learning going thought it again. Thank you for making.. reusable code 😅
@@VoidloniXaarii cheers! Enjoy!