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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
|