diff --git a/Queue.py b/Queue.py
new file mode 100644
index 00000000..a1397f65
--- /dev/null
+++ b/Queue.py
@@ -0,0 +1,24 @@
+class Queue:
+    arr = []
+    def enqueue(self,item):
+        self.arr.append(item)
+    
+    def dequeue(self):
+        if len(self.arr) > 0:
+            ditem = self.arr[0] 
+            del self.arr[0]
+            return ditem
+        else:
+            return #queue is empty
+    
+    def dispaly(self):
+        print(self.arr)
+
+x = Queue() # Creating object of queue class
+x.enqueue(1) 
+x.enqueue(2) 
+x.dispaly() # arr = [1,2]
+x.dequeue() # Deleting the first element of the queue.
+x.dispaly() # arr = [2]
+print(x.dequeue()) # 2
+print(x.dequeue()) # None(because queue is already empty)
\ No newline at end of file
diff --git a/Queue_using_LL.py b/Queue_using_LL.py
new file mode 100644
index 00000000..0bfa00b7
--- /dev/null
+++ b/Queue_using_LL.py
@@ -0,0 +1,39 @@
+class Node:
+    def __init__(self, data = None):
+        self.data = data
+        self.next = None
+
+class Queue:
+    def __init__(self):
+        self.head = None
+        self.last = None
+
+    def enqueue(self, data):
+        if not self.last:
+            self.head = Node(data)
+            self.last = self.head
+        else:
+            self.last.next = Node(data)
+            self.last = self.last.next
+
+    def dequeue(self):
+        if not self.head:
+            return None
+        val = self.head.data
+        self.head = self.head.next
+        return val
+
+    def display(self):
+        temp = self.head
+        while temp != None:
+            print(temp.data)
+            temp = temp.next
+
+x = Queue() # Creating object of queue class
+x.enqueue(1) # Add 1 to the queue
+x.enqueue(2)# Add 2 to the queue
+x.display() # 1 => 2
+print(x.dequeue()) # Deleting the first element of the queue.
+x.display() # 2
+print(x.dequeue()) # 2
+print(x.dequeue()) # None(because queue is already empty)
\ No newline at end of file
diff --git a/Radix_sort.py b/Radix_sort.py
new file mode 100644
index 00000000..0c6f84fe
--- /dev/null
+++ b/Radix_sort.py
@@ -0,0 +1,43 @@
+# Radix sort in Python
+# Using counting sort to sort the elements in the basis of significant places
+def countingSort(array, place):
+    size = len(array)
+    output = [0] * size
+    count = [0] * 10
+
+    # Calculate count of elements
+    for i in range(0, size):
+        index = array[i] // place
+        count[index % 10] += 1
+
+    # Calculate cumulative count
+    for i in range(1, 10):
+        count[i] += count[i - 1]
+
+    # Place the elements in sorted order
+    i = size - 1
+    while i >= 0:
+        index = array[i] // place
+        output[count[index % 10] - 1] = array[i]
+        count[index % 10] -= 1
+        i -= 1
+
+    for i in range(0, size):
+        array[i] = output[i]
+
+
+# Main function to implement radix sort
+def radixSort(array):
+    # Get maximum element
+    max_element = max(array)
+
+    # Apply counting sort to sort elements based on place value.
+    place = 1
+    while max_element // place > 0:
+        countingSort(array, place)
+        place *= 10
+
+
+data = [121, 432, 564, 23, 1, 45, 788]
+radixSort(data)
+print(data)
\ No newline at end of file