Metadata-Version: 2.1
Name: DScollection
Version: 0.0.2
Summary: A basic implementation of some data structures
Author: Kishan Chauhan
Author-email: kishanchauhan2006.25@gmail.com
Keywords: data structures stack linked list
Classifier: Development Status :: 1 - Planning
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: OS Independent
Description-Content-Type: text/markdown
License-File: LICENCE.txt

# This is very simple implementaion of Data Structure like Stack and Singly Linked List

* You can use the basic method of the Stack lik push, pop, peek, isEmpty, printStack. Here is the list:-

python
1) push(val) #provide any valu as argument to push into stack
2) pop() #It will pop or delete the top element of stack
3) peek() #It will give you the top element
4) isEmpty() #It will tell you whether the stack is empty or not
5) printStack() #It will print the stack in form of list

Note:- if you initialize the stack size to 5 and you push only 3 element or less then 5 element then rest of the stack will print as 0 because initially all the value in stack is 0
---

* In Singly Linked List you can use so many methods here is the list:-

  
    ```python
        1) len()
        2) is_empty() #Make sure you use this method inside the print function
        3) traverse() #To print the linked list
        4) insertAtHead(val) #Provide any value as argument
        5) insertAtTail(val) #Provide any value as argument
        6) insertAtPos(val, pos) #First provide the value and then position
        7) deleteHead() #It will delete the head node
        8) deleteTail() #It will delete the tail node
        9) deleteAtPosition(pos) #Provide the position of node you want to delete
        10) insertAfter(val, newVal) #First provide the value after which you want to add a new value. E.g:- after 5 you want to add 6 then insertAfter(5, 6)
        11) insertBefore(val, newVal) #First provide the value before which you want to add a new value. E.g:- before 5 you want to add 6 then insertBefore(5, 6)
        12) get_tail() #It will print the tail node
        13) get_head() #It will print the head node
    ```

# Here is the exmaple 

* Stack
    
    ```python
        from DScollection import *

        #OR
        # from DScollection import Stack
        # from DScollection import SinglyLL

        s1 = Stack(5) #here 5 is the size of stack
        s1.push(1)
        s1.push(2)
        s1.push(3)
        s1.push(4)
        s1.push(5)
        #you can also use loop to push to avoid this number of lines
        s1.pop()
        s1.peek()
        s1.isEmpty()
        s1.printStack()
    ```
* Singly Linked List
    
    ```python
        from DScollection import *

        #OR
        # from DScollection import Stack
        # from DScollection import SinglyLL

        l1 = SinglyLL() #here 5 is the size of stack
        l1.insertAtHead(5)
        l1.insertAtHead(6)
        l1.traverse()
    ```

# I will update this with all the data structure with ready to use

Change Log
==========

0.0.2 (30/8/2024)
------------------
-Second Release

