Add Stack implementation using Linked List #6717
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
The current
/stacks
directory in the repository includes various stack algorithms and implementations(e.g., using two queues, min stacks, postfix/prefix evaluation, etc.), but it lacks an implementation
of a Stack data structure using a Linked List.
Proposed Solution
Implemented a
StackUsingLinkedList.java
class under/stacks
package that supports the followingstandard stack operations:
push(T data)
– insert an element onto the stackpop()
– remove and return the top elementpeek()
– view the top element without removing itisEmpty()
– check if the stack is emptysize()
– return the number of elements in the stackImplementation Details
Uses a singly linked list (with an inner Node class) to store elements.
Ensures O(1) time complexity for push and pop operations.
Includes proper exception handling and documentation comments.
Added a simple
main()
method for demonstration and testing.I have read CONTRIBUTING.md.
This pull request is all my own work -- I have not plagiarized it.
All filenames are in PascalCase.
All functions and variable names follow Java naming conventions.
All new algorithms have a URL in their comments that points to Wikipedia or other similar explanations.
All new code is formatted with clang-format -i --style=file path/to/your/file.java