### 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
Close
Hashes for grscheller_circular_array-3.6.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0820d6017e7b83812437a341108cf92dd29e4a864e95c02a5d4010ee3bde8e81 |
|
MD5 | 10fbf407238e5f87f9439b07e1849fbb |
|
BLAKE2b-256 | 21f312aef8b9719d932c339599f477ec90267dc0df6660b74f04c43fac4cdc32 |
Close
Hashes for grscheller_circular_array-3.6.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 780c0c423ac03355557ec831192bed76b8ade8460df2aa42ca963d6546f907fb |
|
MD5 | d94ad3540631228aff7c6eba20128030 |
|
BLAKE2b-256 | bf38cefb24db74d9fd442231d29f24090386ffee06766e020eb1d24fdd408c37 |