# Linked List Data Structure

**Data Structure and Algorithms Course****Practice Problems on Linked List****Recent Articles on Linked List**

A linked list is a linear data structure, in which the elements are not stored at contiguous memory locations. The elements in a linked list are linked using pointers as shown in the below image:

In simple words, a linked list consists of nodes where each node contains a data field and a reference(link) to the next node in the list.

**Topics :**

- Introduction to Linked List
- Linked List vs Array
- Linked List Insertion
- Linked List Deletion (Deleting a given key)
- Linked List Deletion (Deleting a key at given position)
- Write a function to delete a Linked List
- Find Length of a Linked List (Iterative and Recursive)
- Search an element in a Linked List (Iterative and Recursive)
- Write a function to get Nth node in a Linked List
- Nth node from the end of a Linked List
- Print the middle of a given linked list
- Write a function that counts the number of times a given int occurs in a Linked List
- Detect loop in a linked list
- Find length of loop in linked list
- Function to check if a singly linked list is palindrome
- Remove duplicates from a sorted linked list
- Remove duplicates from an unsorted linked list
- Swap nodes in a linked list without swapping data
- Pairwise swap elements of a given linked list
- Move last element to front of a given Linked List
- Intersection of two Sorted Linked Lists
- Intersection point of two Linked Lists.
- QuickSort on Singly Linked List
- Segregate even and odd nodes in a Linked List
- Reverse a linked list

- Circular Linked List Introduction and Applications,
- Circular Linked List Traversal
- Split a Circular Linked List into two halves
- Sorted insert for circular linked list
- Check if a linked list is Circular Linked List
- Convert a Binary Tree to a Circular Doubly Link List
- Circular Singly Linked List | Insertion
- Deletion from a Circular Linked List
- Circular Queue | Set 2 (Circular Linked List Implementation)
- Count nodes in Circular linked list
- Josephus Circle using circular linked list
- Convert singly linked list into circular linked list
- Circular Linked List | Set 1 (Introduction and Applications)
- Circular Linked List | Set 2 (Traversal)
- Implementation of Deque using circular array
- Exchange first and last nodes in Circular Linked List

- Doubly Linked List Introduction and Insertion
- Delete a node in a Doubly Linked List
- Reverse a Doubly Linked List
- The Great Tree-List Recursion Problem.
- Copy a linked list with next and arbit pointer
- QuickSort on Doubly Linked List
- Swap Kth node from beginning with Kth node from end in a Linked List
- Merge Sort for Doubly Linked List
- Create a Doubly Linked List from a Ternary Tree
- Find pairs with given sum in doubly linked list
- Insert value in sorted way in a sorted doubly linked list
- Delete a Doubly Linked List node at a given position
- Count triplets in a sorted doubly linked list whose sum is equal to a given value x
- Remove duplicates from a sorted doubly linked list
- Delete all occurrences of a given key in a doubly linked list
- Remove duplicates from an unsorted doubly linked list
- Sort the biotonic doubly linked list
- Sort a k sorted doubly linked list
- Convert a given Binary Tree to Doubly Linked List | Set
- Program to find size of Doubly Linked List
- Sorted insert in a doubly linked list with head and tail pointers
- Large number arithmetic using doubly linked list
- Rotate Doubly linked list by N nodes
- Priority Queue using doubly linked list
- Reverse a doubly linked list in groups of given size
- Doubly Circular Linked List | Set 1 (Introduction and Insertion)
- Doubly Circular Linked List | Set 2 (Deletion)

- Skip List | Set 1 (Introduction)
- Skip List | Set 2 (Insertion)
- Skip List | Set 3 (Searching and Deletion)
- Reverse a stack without using extra space in O(n)
- An interesting method to print reverse of a linked list
- Linked List representation of Disjoint Set Data Structures
- Sublist Search (Search a linked list in another list)
- How to insert elements in C++ STL List ?
- Unrolled Linked List | Set 1 (Introduction)
- A Programmer’s approach of looking at Array vs. Linked List
- How to write C functions that modify head pointer of a Linked List?
- Given a linked list which is sorted, how will you insert in sorted way
- Can we reverse a linked list in less than O(n)?
- Practice questions for Linked List and Recursion
- Construct a Maximum Sum Linked List out of two Sorted Linked Lists having some Common nodes
- Given only a pointer to a node to be deleted in a singly linked list, how do you delete it?
- Why Quick Sort preferred for Arrays and Merge Sort for Linked Lists?
- Squareroot(n)-th node in a Linked List
- Find the fractional (or n/k – th) node in linked list
- Find modular node in a linked list
- Construct a linked list from 2D matrix
- Find smallest and largest elements in singly linked list
- Arrange consonants and vowels nodes in a linked list
- Partitioning a linked list around a given value and If we don’t care about making the elements of the list “stable”
- Modify contents of Linked List

If you still need more assistance with your placement preparation, have a look at our Complete Interview Preparation Course. The course has been designed by our expert mentors to help students **crack the coding interview of top product or service-based organizations **. You get access to **premium lectures, 200+ coding questions bank, resume building tips, and lifetime access** to the course content. So to make sure that your next programming interview doesn’t feel like an interrogation, enroll in Complete Interview Preparation and give a boost to your placement preparation.

Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.