"""
swapped = π‘ππ’π
while swapped = π‘ππ’π
swapped = π πππ π
for π = 2 to π
if π΄[π β 1] > π΄[π]
troca(π΄[π β 1], π΄[π])
swapped = π‘ππ’π
if !swapped
break
swapped = π πππ π
for π = π to 2
if π΄[π] < π΄[π β 1]
troca(π΄[π], π΄[π β 1])
swapped = π‘ππ’π
"""
def cocktailSort(a):
n = len(a)-1
swapped = True
swapCount = 0
while swapped:
swapped = False
for i in range(1, n):
if a[i-1] > a[i]:
a[i-1], a[i] = a[i], a[i-1]
swapped = True
print(a,"\n---\n");
swapCount+=1
if not swapped:
break
swapped = False
for i in range(n, 1, -1):
if a[i] < a[i-1]:
a[i], a[i-1] = a[i-1], a[i]
swapped = True
print(a,"\n---\n");
swapCount+=1
print("Swaps Feitas: ",swapCount)
return a
array = [0,9,8,7,6,5,4,3,2,1]
# array = [0,1,2,3,4,5,6,7,8,9] # Melhor Caso
array = [9,8,6,5,4,3,2,1,0]
# array = [0,1,2,3,4,9,8,7,6,5]
print("OrdernaΓ§Γ£o do Array:\n",array,"\n\n---\n")
array = cocktailSort(array)
print("Array Ordenado:\n",array)