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 hashes)

Uploaded Source

Built Distribution

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

Uploaded Python 3

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