LIFO Stack & FIFO Queue Implementation in Python.
Project description
Stack.py
Stack.py is the LIFO Stack & FIFO Queue Implementation in Python. It is not a different data type, but can be treated as one.
LIFO - Last In, First Out. The last element to get in will be the first to get out.
FIFO - First In, First Out. The first element to get in will be the first to get out.
Badges
Provided By: shields.io
Acknowledgements
Authors
Installation
Easiest way is to install stack.py with pip
pip install stack.py
Usage / Examples
Stack
from stack import Stack
s = Stack(6) # Create a LIFO stack with stack length 6
s.put(1) # Pushing some elements to the stack
s.put(2)
s.put(3)
s.get() # Gets an element from the stack, pops it
s.list # Returns the elements of stack as a list
s.top # Returns the index of top pointer of the stack
s.list[s.top] # Returns the value of the element at top
s.empty # Returns True if the stack is empty else returns False
s.clear() # Clears the stack, and makes it empty
p = s.copy() # Creates a copy of stack as an independent object
print(s) # Prints the element of stacks as a stringified list
print(repr(s)) # Returns the class object representation of the stack with the values it holds
Queue
from stack import Queue
q = Queue(10) # Create a FIFO queue with queue length 6
q.enqueue(1) # Enqueues elements to the queue
q.enqueue(2)
q.enqueue(3)
q.dequeue() # Gets an element from the queue, pops it
q.list # Returns the elements of queue as a list
q.front # Returns the index of front pointer of the stack
q.rear # Returns the index of rear pointer of the stack
q.list[s.rear] # Returns the value of the rear element
q.empty # Returns True if the queue is empty else returns False
q.clear() # Clears the queue, and makes it empty
t = q.copy() # Creates a copy of stack as an independent object
print(q) # Prints the element of queue as a stringified list
print(repr(q)) # Returns the class object representation of the queue with the values it holds
Contributing
Contributions are always welcome!
- Fork this repository.
- Make the changes in your forked repositry.
- Generate a pull request.
Please adhere to the GitHub's code of conduct
.
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
stack.py-2.0.tar.gz
(7.7 kB
view details)
Built Distribution
File details
Details for the file stack.py-2.0.tar.gz
.
File metadata
- Download URL: stack.py-2.0.tar.gz
- Upload date:
- Size: 7.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.6.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.56.2 CPython/3.8.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 50de015823048ffd2bd432ae46be25211ee102fa7710240726b548745d280760 |
|
MD5 | e2b44fa861b99f6c390219c9ace84c05 |
|
BLAKE2b-256 | 255edb5582b9910c2a13e09f025aba12944c0809259bee496128637edbceac9f |
File details
Details for the file stack.py-2.0-py3-none-any.whl
.
File metadata
- Download URL: stack.py-2.0-py3-none-any.whl
- Upload date:
- Size: 7.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.6.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.56.2 CPython/3.8.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ddda2956c43c35767736f0ce87ac7ae9d46f62b610ec5c6753f561b3550fd345 |
|
MD5 | b2be1fad8a9017639225cc3c51d15749 |
|
BLAKE2b-256 | 2d3815681f51a005bd7f5344d784dd9c6264c45e210fc3f2ec192d480afb956a |