Linked list uses to store the collection of data. Linked list uses links (memory to next item) to connect with next item and dynamically grow and shrink on demand.

Linked list helps to insert and delete the items easily. It may take more memory to store the next or previous links. It extends the memory on the need basis and no need pre-allocate the memory.

Linked list section explains how to implement the singly linked list, doubly linked list and various applications related with linked list operation.

Data structure problems
31 Singly linked list
Linked list is a data Structure consisting group of nodes each link with reference to next node. It represent data sequentially and not use an index to access the element.
32 Merge sort using linked list
Sort the singly linked list using merge sort. Merge sort is a comparison-based sorting algorithm and uses divide and conquer logic to sort the items.
33 Insertion sort using Linked list
Sort the linked list element using Insertion sort. Insertion sort is a simple sorting algorithm and it Efficient for small data sets
34 Find middle element
Write linked list program to find the middle of the element in a single iteration. Linked list do not use an index and uses the only reference to next item.
35 Doubly linked list
Write a program to implement double ended linked list with all the operations. The item can be insert or delete both ends.
36 Find last Nth node
Write a program to find last Nth element using singly linked list using single iteration. Linked list does not use an index and uses the only reference to next item.
37 Reverse Linked list
Write a program to implement reverse the linked list. The head item should move to tail and tail item should move to head.
38 Circular list
Write a program to implement circular linked list. Circular linked list head refer the next item with tail item. Once the item moved to tail, it override the head items
39 Find Cyclic
Write a program to find the singly linked list contains any cyclic or not
40 Re-order list
Write a program to reverse secound half of the singly linked list
41 Remove duplicate
Write a program to remove the duplicate elements from singly linked list. Example if a linked list contains 2->3->1->3->4 then the result should be 2->3->1->4
42 Get Nth node in a Linked List
Write a program to find Nth node from singly linked list using single iteration.
43 Counts the number of repeat elements
Write a program to count the repeated items from the singly linked list. The Linked list does not use an index.
44 Check palindrome
Write a program to find palindrome in the singly linked list. If the list contains palindrome return true; else return the false.
45 Insert sorted linked list
Write a program to insert the new element in the sorted linked list. If the element has high or low value, it should insert appropiate place in sorted linked list.
46 Intersection point of two Lists
Write a program to the intersection of the two linked lists. The new list should create without affect the original lists.
47 Remove duplicates
Write a program to remove the duplicate item in the singly linked list
48 Pairwise swap elements
Write a program to swap the elements in the singly linked list. Ex 1->2->3-4>5 it should swap 2->1->3-4>5
49 Move last element to front
Write a program to move the last item to the front of linked list
50 Intersection of two Sorted Lists
Write a program to intersection of the two linked lists. The new list created without affect the original lists.
51 Delete a node in a Doubly linked List
Write a program to delete the node in doubly linked list. The doubly linked list has two references. The first link refers to the previous item. The second refer to the next item.
52 Reverse a Doubly Linked List
Write a program to reverse the doubly linked list
53 Split a Circular Linked List into two halves
Write a program to split the circular linked list to two halves linked list. Two lists should have split with equal size
54 Pairwise swap elements
Write a program to swap the elements in the doubly linked list. Ex 1->2->3-4>5 it should swap 2->1->3-4>5
55 Merge a linked list
Merge two linked list one after another. The first list ends of the element link to the first item of the secound list.
56 Sort a linked list of 0s, 1s and 2s
Write a program to sort 0s, 1s and s2 item linked list.
57 Flattening a Linked List
Write a program to flatten the list into singly linked list. The linked list may contain many lists with two-dimensional array. The program should convert to singly linked list.
58 Rotate a Linked List
Write a program to rotate the linked list with given pointer
59 Find a triplet
Write a program to find sum of the values of the nodes is equal to a given number in the singly linked list
60 Detect and Remove Loop
Write a program to detect and remove the loop in the singly linked list
61 Reverse alternate K nodes
Write a program to reverse the singly linked list with K nodes. The K-node get input from user and reverse the node.
62 Union and Intersection of two Linked Lists
Write a program to union and intersection of given two linked lists. The union link both linked list and return as singly linked list.
63 Identical Linked Lists
Write a program to find identical of given two linked lists. If both linked lists are identical, return true. Else return false.
64 Delete alternate nodes
Write a program to delete alternative nodes from the singly linked list.