
Learn what exactly are linked lists and the similarities between them and an array
Using whichever type of loop you'd want (for, while, do-while) you'll be able to iterate a linked list like a simple array
Once created we also have to know how to remove such a structure from memory.
Learn how to insert at the beginning of a linked list by creating a new node, linking it to the previous root, and updating the root, achieving constant time complexity.
Learn how to remove the first occurrence of a value in a linked list by updating the previous node, handling the root with a double pointer, and freeing memory.
Learn to iterate a doubly linked list by initializing a current pointer at the tail or head, moving with next or previous pointers, and printing values in both directions.
Learn to deallocate a doubly linked list by freeing every node and resetting head and tail to null, using a current pointer and each node’s previous pointer.
Learn how to insert at the beginning of a doubly linked list by creating a new node, updating head and tail, and handling empty lists with memory checks.
Learn to reverse a doubly linked list by swapping each node's next and previous pointers, then swap the head and tail, while safely handling an empty list.
Learn the basics of linked lists in the C programming language. This course treats the student as a complete beginner to linked lists that has a basic understanding of arrays/pointers and other similar concepts of the C language. What we want is, at the end of this course, for you to be able to use a linked list exactly like a plain old array.
After finishing the course you will be able to
Create the data structure for a singly and doubly linked list
Insert any element wherever in the linked list
Remove an element from the linked list
Understand how the linked list is allocated in memory
Properly deallocate the linked list
And to code other useful algorithms