Odpowiedź :
Wytłumaczenie:
→ jeżeli element 0 jest większy od elementu 1, zamień je
→ jeżeli element 1 jest większy od elementu 2, zamień je
...
→ jeżeli element n-1 jest większy od elementu n, zamień je
Po wykonaniu powyższych poleceń wiemy, że element n jest największy, natomiast musimy posortować resztę
→ jeżeli element 0 jest większy od elementu 1, zamień je
→ jeżeli element 1 jest większy od elementu 2, zamień je
...
→ jeżeli element n-2 jest większy od elementu n-1, zamień je
Zauważ, że sprawdzamy tylko do elementu n-1, ponieważ n jest już na swoim miejscu.
→ jeżeli element 0 jest większy od elementu 1, zamień je
→ jeżeli element 1 jest większy od elementu 2, zamień je
...
→ jeżeli element n-3 jest większy od elementu n-2, zamień je
Zauważ, że z każdym przejściem pętli wartość n-... się zmienia o numer okrążenia (w zerowym okrążeniu nie zmienia się, w pierwszym o 1, w drugim o 2 etc.)
Skrypt:
A = [9, 0, 8, 10, -3, 1]
n = len(A) - 1
for i in range( 0, n ):
for j in range( 0, n-i ):
if A[j] > A[j+1]:
# zamiana wartości
A[j] , A[j+1] = A[j+1] , A[j]
print(A)