human
What is a code to cocktail Sort and the other steps required given the following:
Cocktail Sort | Sorts arrar a [ 0. . n - 1 ] using Cocktail sort.
reset the swapped flag on entering the loop , because it might be true from a previous iteration ..
loop from left to right same as the bubble sort.
if nothing moved , then array is sorted ..
otherwise , reset the swapped flag so that it can be used in the next stage.
move the end point back by one , because item at the end is in its rightful spot.
from right to left , doing the same comparison as in the previous stage.
increase the starting point , because the last stage would have moved the next smallest number to its rightful spot ..
Driver code"
How can the above be solved in Python?
assistant
#Here is code to cocktail Sort and the other steps required.
 def cocktailSort ( a ) :
	n = len ( a )
	swapped = True
	start = 0
	end = n - 1
	while ( swapped == True ) :
		swapped = False
		for i in range ( start , end ) :
			if ( a [ i ] > a [ i + 1 ] ) :
				a [ i ] , a [ i + 1 ] = a [ i + 1 ] , a [ i ]
				swapped = True
		if ( swapped == False ) :
			break
		swapped = False
		end = end - 1
		for i in range ( end - 1 , start - 1 , - 1 ) :
			if ( a [ i ] > a [ i + 1 ] ) :
				a [ i ] , a [ i + 1 ] = a [ i + 1 ] , a [ i ]
				swapped = True
		start = start + 1
a = [ 5 , 1 , 4 , 2 , 8 , 0 , 2 ]
cocktailSort ( a )
print ( " Sorted ▁ array ▁ is : " )
for i in range ( len ( a ) ) :
	print ( " % ▁ d " % a [ i ] )