def bubble_sort_v1(array):
for i in range(len(array) - 1):
for j in range(len(array) - 1):
if array[j] > array[j + 1]:
array[j], array[j + 1] = array[j + 1], array[j]
return
def bubble_sort_v2(array):
swapped = True
while swapped:
swapped = False
for i in range(len(array) - 1):
if array[i] > array[i + 1]:
array[i], array[i + 1] = array[i + 1], array[i]
swapped = True
def bubble_sort_v3(array):
n = len(array)
swapped = True
while swapped:
swapped = False
for i in range(n-1):
if array[i] > array[i + 1]:
array[i], array[i + 1] = array[i + 1], array[i]
swapped = True
n -= 1
def bubble_sort_v4(array):
n = len(array)
swapped = True
while swapped:
swapped = False
new_n = 0
for i in range(n-1):
if array[i] > array[i + 1]:
array[i], array[i + 1] = array[i + 1], array[i]
swapped = True
new_n = i
print(new_n)
n = new_n