 # coding: cp852
import os,sys


#---============================[ bubble_sort ]==========================================[]
def bubble_sort(T):
  '''Sortowanie b¥belkowe.'''

  L=len(T)							# Ustala dˆugo˜† listy.

  bylaZmiana=True						# Zakˆada (¾eby wystartowa†, ¾e byˆa zmiana.
  while bylaZmiana:						# Dop¢ki poprzedni przebieg zawieraˆ zmiane i lista mo¾e by† jeszcze nieposortowana.
    bylaZmiana=False						# na pocz¥tku przebiegu zmiany nie byˆo.
    i=0								# Zaczyna por¢wnaia od pierwszego elementu.
    while i<L-1:							# Jest co najmniej 1 element dalej, z kt¢rym por¢wna element i-ty.
      if T[i]>T[i+1]:                                             # I-ty element jest wi©kszy od nast©pnego.
        (T[i],T[i+1])=(T[i+1],T[i])				# Wymienia je miejscami.
        bylaZmiana=True						# Jak wy¾ej wida†.
      i+=1							# Zwi©ksza index o 1.
    L-=1							# Najci©¾szy osiadˆ na koäcu - trzeba bedzie przegl¥dn¥† jeszxcze raz list© o ten jeden element kr¢tsz¥.				
  return T							# Zwraca posortowan¥ list©.

#---============================[ __name__ ]==========================================[]
if __name__=="__main__":					# ½eby wykonywaˆo sie tylko, kiedy jest testowane= wywoˆane bepo˜rednio. W wywoˆaniu jako biblioteki - mija to.
  L1=[5,4,6,2,33,5,22,28,55,5,37,39,49,57]
  print(f'Przed sortowaniem {L1=}')
  L2=bubble_sort(L1)
  print(f'Po sortowaniu {L2=}')



