- Project Title
- Project Description
- Technologies Used
- Requirements
- Installation Instructions
- Usage Instructions
- Documentation
- Visuals
- Support Information
- Project Roadmap
- Project Status
- Contribution Guidelines
- License Information
LinkedListDeque – Java Implementation
A generic, doubly-linked list–based double-ended queue supporting constant-time operations at both ends.
This project is a custom Java implementation of a double-ended queue (deque) using a doubly linked list. It provides constant-time performance for adding and removing elements at either end, and supports generics for broad usability. Designed with clean modular structure and abstraction through interfaces, it’s ideal for learning and interviews.
- Java 8+
- Java Generics
- Java Interfaces
- Java Collection fundamentals
- Java Development Kit (JDK) 8 or higher
- Java-compatible IDE (e.g., IntelliJ IDEA, Eclipse)
- Familiarity with compiling and running
.java
files
git clone https://github.com/your-username/linkedlistdeque-java.git
cd linkedlistdeque-java
Open the project in your IDE and compile LinkedListDeque61B.java
.
Ensure all files are in the same package or adjust package declarations.
LinkedListDeque<String> deque = new LinkedListDeque<>();
deque.addFirst("CS");
deque.addLast("61B");
System.out.println(deque.removeFirst()); // CS
System.out.println(deque.removeLast()); // 61B
Try combining this with test cases to explore behavior and performance.
Deque61B.java
– Interface defining the deque APILinkedListDeque61B.java
– Core doubly-linked deque implementationMaximizer61B.java
– Example utility class for testing max values in deques
JavaDocs are included inline to assist with method expectations and behaviors.
(Add a diagram showing the internal structure of the deque with sentinel nodes and example operations)
For questions or bugs:
- Open an issue via GitHub
- Or contact via email:
ezhang0606@gmail.com
- ✅ Implemented basic operations:
addFirst
,addLast
,removeFirst
,removeLast
- ✅ Included iterative and recursive
get
methods - 🔄 Add iterator support
- 🔜 Benchmarking and JUnit test suite
Completed
Fully functional and tested. May be expanded with iterator and benchmarking tools.
We welcome contributions! Please follow these steps:
- Fork this repository
- Create a feature or bugfix branch
- Write clear commit messages
- Submit a pull request with an explanation
- Include tests for new functionality where possible
Refer to the included JavaDocs for consistent method style and behavior.
This project is licensed under the MIT License. See the LICENSE file for full details.