A Python package with simple implementation of a singly linked list with various utility functions.
Project description
Singly Linked List in Python
A simple implementation of a singly linked list with various utility functions.
Table of Contents
Installation
You can install the package via pip:
pip install singly_linked_list
Usage
Here’s a quick example of how to use the SinglyLinkList class:
from singly_linked_list import SinglyLinkList
# Create a new linked list
linked_list = SinglyLinkList()
# Add elements
linked_list.push(10) # Add to front
linked_list.append(20) # Add to end
linked_list.insert(10, 15) # Insert after 10
# Print the list
print(linked_list.printList()) # Output: [15, 10, 20]
# Remove an element
linked_list.remove(10)
print(linked_list.printList()) # Output: [15, 20]
Features
- Add Nodes: push(data), append(data), insert(after_element, data)
- Remove Nodes: remove(element), delete()
- Search: search(key), count(key)
- Traversal: printList(), length(), getNth(n), getNthFromLast(n)
- Utilities: isPalindrome(), checkLoop(), lengthOfLoop(), uniqueSorted()
- Modify List: reverseList(), segregateEvenOdd()
- Merging Lists: mergeTwoLists(l1, l2)
API Reference
The SinglyLinkList class provides methods for manipulating linked lists as described in the features section. Each method has its own functionality:
-
Initialization: SinglyLinkList()
-
Add Nodes:
push(data):
Add a new node at the beginning.append(data):
Add a new node at the end.insert(after_element, data):
Insert a new node after a specified element.
-
Remove Nodes:
remove(element):
Remove the first occurrence of an element.delete():
Delete the entire linked list.
-
Traversal and Querying:
printList():
Return a list of node values.length():
Return the number of nodes in the list.getNth(n):
Get the nth node's data.getNthFromLast(n):
Get the nth node's data from the end.
-
Utilities:
isPalindrome():
Check if the list is a palindrome.checkLoop():
Check for loops in the list.lengthOfLoop():
Find the length of a loop if it exists.uniqueSorted():
Retrieve unique elements in sorted order.
-
Modify List:
reverseList():
Reverse the order of nodes.segregateEvenOdd():
Separate even and odd nodes.
-
Merging Lists:
mergeTwoLists(l1, l2):
Merge two sorted linked lists.
Contributing
Contributions are welcome! Please open an issue or submit a pull request on GitHub.
License
This project is licensed under the MIT License.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file py_linked_list-1.0.0.tar.gz
.
File metadata
- Download URL: py_linked_list-1.0.0.tar.gz
- Upload date:
- Size: 5.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9b8838c07aaf6f69d94b93cca5e793f38b59a2cc3c5be9e0ca367d27e5903a07 |
|
MD5 | 2ec555c930f4fbfd05eaa27ff4ac443f |
|
BLAKE2b-256 | d6fd1daea6b09872f938d6ebbbbe274fdff0bba2d927a8b74c7d051d456dc3c1 |
File details
Details for the file py_linked_list-1.0.0-py3-none-any.whl
.
File metadata
- Download URL: py_linked_list-1.0.0-py3-none-any.whl
- Upload date:
- Size: 5.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 08eb2468ce9fffee7dbba57954e02cf91cb1594e0e603ef0b83392d5b390696f |
|
MD5 | b17d795c6fc8657645964a544351e000 |
|
BLAKE2b-256 | d9b58cac68330055766dada633b016c56cb95ffc74636c7e02879e6ea77479ef |