### Circular Array
This project has been archived.
The maintainers of this project have marked this project as archived. No new releases are expected.
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
- now fully supports 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
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 grscheller_circular_array-3.8.1.tar.gz.
File metadata
- Download URL: grscheller_circular_array-3.8.1.tar.gz
- Upload date:
- Size: 15.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: python-requests/2.32.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1fafb08121252b46a7e87028f7796dff7292527a1de7aeb36af797aca7e09b23
|
|
| MD5 |
b7e3b2db6a7ab101686f9f731c05b18d
|
|
| BLAKE2b-256 |
aa42a23ae811320f4f7f07445d77b1730936318b0bd443f33a84626b3d32cd54
|
File details
Details for the file grscheller_circular_array-3.8.1-py3-none-any.whl.
File metadata
- Download URL: grscheller_circular_array-3.8.1-py3-none-any.whl
- Upload date:
- Size: 10.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: python-requests/2.32.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d3d6a5bf548914b489802399f7889430ab72033ceca7f590231c5f2ad8ef5746
|
|
| MD5 |
ebc2132988082cf86c4a96b39f82d595
|
|
| BLAKE2b-256 |
4f621bda3ada964a5457f8cb2546126d30ff31a842ef9e494d49f7197307ec28
|