This repository contains a complete implementation of a Doubly Linked List in Java using both head and tail pointers. All major operations such as insertion, deletion, traversal, and searching are implemented from scratch — without using any Java library collections.
pushFront(int data)– Insert at the beginningpushBack(int data)– Insert at the endinsertAtIndex(int data, int position)– Insert at a specific indexpopFront()– Remove element from the frontpopBack()– Remove element from the enddeleteAtIndex(int index)– Delete node at a specific indexdeleteThroughdata(int data)– Delete first node with a specific valueisEmpty()– Check if the list is emptyprint()– Print the list from head to tail
This project is part of my DSA (Data Structures & Algorithms) practice to master:
- Bidirectional node linking
- Pointer manipulation (next & prev)
- Special case handling (insertion/deletion at head, tail, or only node)
- Dynamic memory and structure control
Node– Doubly linked node withdata,prev, andnextdoublyLL– Class implementing the doubly linked list logicMain– Sample test cases and operations
-
Java
-
IDE: IntelliJ IDEA
Noor Fatima
BS Artificial Intelligence Student
GitHub: https://github.com/noor05-creator