
An introduction to Linked Lists. After this lecture you will be able to describe what linked lists are and why we might use them.
Learn to implement a linked list in C by defining a node struct with value and next pointer, linking nodes A, B, and C, and traversing to print the list.
Implement delete at head and delete at tail in a C linked list, including empty-list handling, memory free, a two-pointer traversal, and returning the new head after each operation.
Learn how to append one linked list to another by traversing to the tail and handling empty lists. Then reverse a linked list by flipping pointers from head to tail.
Learn to sort a linked list using bubble sort by swapping node values rather than pointers, and remove duplicates with nested loops while traversing the list.
Explore practice challenge solutions for linked lists in C, including add lists, duplicate list, and merge sorted lists, using recursion and thorough tests.
Compare a linked list to a dynamically allocated array with 10,000 elements, deleting head 10,000 times, showing linked lists outperform arrays in head deletions and illustrating why lists matter.
Demonstrate problem-solving with linked lists by building and extending a portfolio-ready limitless library. Showcase data structures, algorithms, and real-world use cases like playlists, undo stacks, and task lists.
In this course you will be taught through step-by-step live coding examples how to create and use a library of functions for working with Linked Lists in the C programming language!
Linked Lists are an important type of data structure in computer science and computer programming, so before we walkthrough how to create and use them, we'll also cover what Linked Lists are, how they work, and some practical applications of Linked Lists. The bulk of the course is spent on learning how to work with Linked Lists using C, with over 3 hours of video covering a series of common functionalities explaining step-by-step how they are implemented. We'll also teach you how to package your functions together into a re-usable library, and how to document your code.
By the end of the course you will have a C library of Linked List functions that will help you build a great programming portfolio!
Linked List functionalities that are covered include:
Creating a linked list
Inserting nodes on the head and tail of a linked list
Deleting nodes from the head and tail of a linked list
Sorting a linked list
Deleting matching nodes from a linked list
Deleting duplicate nodes from a linked list
Reversing a linked list
Duplicating a linked list
Determining if a value is in a linked list
...and many others, over 20 functions in total.