Napisz kod źródłowy programu w Python o nazwie Sortowanie bąbelkowe, w którym wykorzystasz funkcję Babelkowe, a dane do sortowania wprowadzisz bezpośrednio w kodzie źródłowym. Sprawdź działanie programu. Daje naj

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)