Skip to main content

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

PyPI Version PyPI Downloads Apache License 2.0 Connect On Discord Code Lines Code Size Pull Requests Issues Contributors

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

Apache License 2.0

Project details


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)

Uploaded Source

Built Distribution

stack.py-2.0-py3-none-any.whl (7.9 kB view details)

Uploaded Python 3

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

Hashes for stack.py-2.0.tar.gz
Algorithm Hash digest
SHA256 50de015823048ffd2bd432ae46be25211ee102fa7710240726b548745d280760
MD5 e2b44fa861b99f6c390219c9ace84c05
BLAKE2b-256 255edb5582b9910c2a13e09f025aba12944c0809259bee496128637edbceac9f

See more details on using hashes here.

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

Hashes for stack.py-2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ddda2956c43c35767736f0ce87ac7ae9d46f62b610ec5c6753f561b3550fd345
MD5 b2be1fad8a9017639225cc3c51d15749
BLAKE2b-256 2d3815681f51a005bd7f5344d784dd9c6264c45e210fc3f2ec192d480afb956a

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page