Skip to main content

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

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(DS1, DS2) // TODO: return the merge of two DS in new DS
  • swap(DS1, DS2) // TODO: swap between DS1 and DS2 (DS1 will be DS2 and DS2 will be DS1)

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

py-fds-2.0.0a1.tar.gz (4.3 kB view details)

Uploaded Source

Built Distribution

py_fds-2.0.0a1-py3-none-any.whl (6.0 kB view details)

Uploaded Python 3

File details

Details for the file py-fds-2.0.0a1.tar.gz.

File metadata

  • Download URL: py-fds-2.0.0a1.tar.gz
  • Upload date:
  • Size: 4.3 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

Hashes for py-fds-2.0.0a1.tar.gz
Algorithm Hash digest
SHA256 cc8c2de263b2e68f9609489ded6bd83aa8cd7a2224a82d33edd6cd2c64cdd9e1
MD5 0808a8df8dd0e7b663b5713359d76f2b
BLAKE2b-256 707c740d85c539abbd17f442bfaf33488946104ccc0e7411381dc5fc5568db22

See more details on using hashes here.

File details

Details for the file py_fds-2.0.0a1-py3-none-any.whl.

File metadata

  • Download URL: py_fds-2.0.0a1-py3-none-any.whl
  • Upload date:
  • Size: 6.0 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

Hashes for py_fds-2.0.0a1-py3-none-any.whl
Algorithm Hash digest
SHA256 cc4cdd1f1f7324ce64cf1c40cf582160f1050917fec19d08d0c5c47c07e41fee
MD5 74a0070f7c3a489736d6eaa936007840
BLAKE2b-256 dc4f5f9f9e477ee4b1e5feb636e504a11083c4c3055442c9ad989c09921dd545

See more details on using hashes here.

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