Simple implementation of data structures for python
Project description
fds
Simple implementaion of data structures (DS) for python
Content
- linked list
- stack
- queue
Classes
- List // linked list
- DList // doubly linked list
- Stack // stack
- Queue // queue
API
List
- insert(self, data, pos=0) // TODO: add node in the entered position (pos=0 => add in the begining)
- append(self, data) // TODO: add node in the end
- delete(self, data) // TODO: delete all nodes hav the entered data
- remove(self, pos=0) // TODO: return and remove node in the entered position (pos=0 => remove first node, pos=-1 => remove last node)
- first(self) // TODO: return the data in the first node
- last(self) // TODO: return the data in the last node
DList
- add_begin(self, data) // TODO: add a node to the begin
- add_fin(self, data) // TODO: add a node to the fin
- delete(self, data) // TODO: delete all nodes hav the entered data
- remove(self, pos=0) // TODO: return and remove node in the entered position (pos=0 => remove first node, pos=-1 => remove last node)
- first(self) // TODO: return the data in the first node
- last(self) // TODO: return the data in the last node
Stack
- push(self, data) // TODO: add a node to the top
- pop(self) // TODO: return and remove the node in the top
- top(self) // TODO: return the data in the first node
Queue
- enqueue(self, data) // TODO: add a node to the end
- dequeue(self) // TODO: return and remove the first element
- front(self) // TODO: return the data in the first node
- back(self) // TODO: return the data in the last node
API for all DSs
- str(self) // USE: print([DS_name]) // TODO: display the DS
- len(self) // USE: len([DS_name]) // TODO: return the lenth of the DS
- empty(self) // TODO: return True if the DS is empty
- clear(self) // TODO: clear the DS
- find(self, data) // TODO: return the number of how many the entered data found in the DS
- reverse(self) // TODO: return the reverse of the DS
- exchange(self, n) // TODO: circular permutation for n time
classmethods for all DSs
// USE: [DS] = [DS_type].method([DS1], [DS2])
// Examples:
>>> stck3 = Stack.merge(stck1, stck2)
>>> Stack.swap([DS1], [DS2])
the tow DS parameters must be from the same DS
- merge(cls, DS1, DS2) // TODO: return the merge of two DS in new DS
- swap(cls, DS1, DS2) // TODO: swap between DS1 and DS2 (DS1 will be DS2 and DS2 will be DS1)
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
py-fds-2.0.0rc0.tar.gz
(4.9 kB
view details)
Built Distribution
File details
Details for the file py-fds-2.0.0rc0.tar.gz
.
File metadata
- Download URL: py-fds-2.0.0rc0.tar.gz
- Upload date:
- Size: 4.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.3.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.8.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f369d2cf9e6465b6228fbc35708e2af710ee2184d6c877c3776c118ed6339da4 |
|
MD5 | ae31fb1716fb2c596021ed008f318590 |
|
BLAKE2b-256 | 66e9bbf245a90e14f8df486645e489d416453b69c9b745427fda98c5ec1490de |
File details
Details for the file py_fds-2.0.0rc0-py3-none-any.whl
.
File metadata
- Download URL: py_fds-2.0.0rc0-py3-none-any.whl
- Upload date:
- Size: 6.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.3.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.8.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 332ac82effe0bf23a618e11e881b8781b65e213eb6a60169e00d81aad62f9509 |
|
MD5 | e0f5c19af14e4e4b28f4fa54aac7980a |
|
BLAKE2b-256 | 62a6908a1362ecbe4f80dbac08bb97af1f5b80b194fa8ade2553314aa9b62247 |