### Circular Array
Project description
Python Circular Array Implementation
Python module implementing an indexable, double sided, auto-resizing queue data structure.
- Repositories
- grscheller.circular-array project on PyPI
- Source code on GitHub
- Detailed documentation
- Detailed API documentation on GH-Pages
Overview
Useful if used directly as an improved version of a Python List or in a "has-a" relationship when implementing other data structures.
- O(1) pushes and pops either end.
- O(1) indexing
- does not support slicing
Usage
from grscheller.circular_array.ca import CA
ca = CA(1, 2, 3)
assert ca.popL() == 1
assert ca.popR() == 3
ca.pushR(42, 0)
ca.pushL(0, 1)
assert repr(ca) == 'CA(1, 0, 2, 42, 0)'
assert str(ca) == '(|1, 0, 2, 42, 0|)'
ca = CA(*range(1,11))
assert repr(ca) == 'CA(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)'
assert str(ca) == '(|1, 2, 3, 4, 5, 6, 7, 8, 9, 10|)'
assert len(ca) == 10
tup3 = ca.popLT(3)
tup4 = ca.popRT(4)
assert tup3 == (1, 2, 3)
assert tup4 == (10, 9, 8, 7)
assert ca == CA(4, 5, 6)
four, *rest = ca.popFT(1000)
assert four == 4
assert rest == [5, 6]
assert len(ca) == 0
ca = CA(1, 2, 3)
assert ca.popLD(42) == 1
assert ca.popRD(42) == 3
assert ca.popLD(42) == 2
assert ca.popRD(42) == 42
assert ca.popLD(42) == 42
assert len(ca) == 0
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 grscheller_circular_array-3.7.1.tar.gz
.
File metadata
- Download URL: grscheller_circular_array-3.7.1.tar.gz
- Upload date:
- Size: 14.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: python-requests/2.32.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1d3e473a26397a22d3af9d20133e49183db0aba8dbf4bb51b915fc813591c61e |
|
MD5 | 324dd55ac38a9e4269d5fdea64dcdfae |
|
BLAKE2b-256 | 1eff60024c9a769eef62ae6c0bd19433465419677445755689013b6e21a13be7 |
File details
Details for the file grscheller_circular_array-3.7.1-py3-none-any.whl
.
File metadata
- Download URL: grscheller_circular_array-3.7.1-py3-none-any.whl
- Upload date:
- Size: 10.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: python-requests/2.32.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4e9afd245412f948b1f407776a67dc79e8ea0dc3a06c4a378e61b48384c995c3 |
|
MD5 | 8fa7852c0b01645a33dcff4fa60fdad5 |
|
BLAKE2b-256 | fbccf9df9787dccd303c946dc1d6bb71bcb1edd6eba0f358c77f752108867ffd |