What you need:
1) Unsorted array
2) for loop i - number of loop is based on the number of elements in the array. Each loop of i would reset loop of j to index zero.
3) for loop j - number of loop is based on number of loop i minus - 1 for every loop of j. Why? we are already sure that the last element of each loop is sorted and doesn't needed to be compared in the next loop (hence -1).
4) a variable to switch number. you don't need this in Python.
Visualization:
If you are wondering how i made this, i used Numbers App in my MacBook.
Python program for implementation of Bubble Sort
def bubbleSort(arr):
n = len(arr)
# Traverse through all array elements
for i in range(n):
# Last i elements are already in place
for j in range(0, n-i-1):
# traverse the array from 0 to n-i-1
# Swap if the element found is greater
# than the next element
if arr[j] > arr[j+1] :
arr[j], arr[j+1] = arr[j+1], arr[j]
Driver code to test above
arr = [64, 34, 25, 12, 22, 11, 90]
bubbleSort(arr)
print ("Sorted array is:")
for i in range(len(arr)):
print ("%d" %arr[i]),
Source for code: https://www.geeksforgeeks.org/bubble-sort/