# Bubble Sort

Nishant Kumar
·Jan 18, 2022·  Subscribe to my newsletter and never miss my upcoming articles

Bubble sort is a simple sorting algorithm in which adjacent elements are compared to each other and swapped if the elements are not in intended order. It is a comparison based algorithm. This algorithm is not suitable for large data because of its not so good worst and average case time complexity O(n2), n is the number of elements.

### Illustration: ``````for all elements in list
for adjacent elements of unsorted portion of list
if leftElement > rightElement
swap the elements
``````

Time Complexity:

• Worst Case: O(n2)
• Average Case: O(n2)
• Best Case: O(n) Space Complexity: O(1)

### Program for Bubble Sort:

``````def bubbleSort(data):

for i in range(len(data)):
for j in range(0, len(data) - i - 1):

if data[j] > data[j + 1]: #Reversing the comparison operator will result in descending order sort

(data[j], data[j + 1]) = (data[j + 1], data[j]) #Swap

inp=input("Enter the data: ").split()
data=[]
for i in inp:
data.append(int(i))
bubbleSort(data)
print('Sorted List: ')
print(data)
``````