# funkcja znajdujÄ ca element minimalny na liĹcie l poczÄ wszy od elementu i def mini(i, l): n = len(l) # przyjmij jako minimum pierwszy przeszukiwany element m = i # nie trzeba sprawdzaÄ pierwszego elementu i += 1 # szukaj w pozostaĹej czÄĹci ciÄ gu elementĂłw mniejszych niĹź minimum while i < n: if l[i] < l[m]: # jeĹli znaleziono, przyjmujemy go jako nowe minimum m = i i += 1 return m # sortowanie przez wybĂłr def selection_sort(l): n = len(l) # range(n - 1) zamiast range(n), bo ostatni element na pewno bÄdzie juĹź na wĹaĹciwym miejscu # po wykonaniu pÄtli for i in range(n - 1): m = mini(i, l) l[m], l[i] = l[i], l[m] return l