
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
Implement insert at end for a linked list using a double pointer to root, allocate a new node, traverse to last node, link it, and set its next to null.
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 reverse a linked list in place by iterating with previous, current, and next pointers, flipping each node's next link and updating the head to the new root.
Compare doubly and singly linked lists, noting that each node has next and previous pointers. This enables bidirectional traversal from head to tail and supports operations like insertion and reversal.
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.
Insert at the end in a doubly linked list with head and tail offers O(1) complexity by linking the new node and updating head; use next and previous pointers.
Learn how to insert a new node after a given node in a doubly linked list, updating prev and next references, handling edge cases, and preserving list integrity.
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