Skip to content

BUBBLE SORT

Pass i = 1


Example numbers

Start with: [6, 3, 8, 5, 2]

Bubble sort (ascending) rule:
For each pass i = 1 … n−1, compare neighboring pairs at positions j and j+1 (for j = 1 … n−i). Swap if left > right.

  • j = 1: compare (6, 3) → swap → [3, 6, 8, 5, 2]

  • j = 2: compare (6, 8) → keep → [3, 6, 8, 5, 2]

  • j = 3: compare (8, 5) → swap → [3, 6, 5, 8, 2]

  • j = 4: compare (8, 2) → swap → [3, 6, 5, 2, 8]
    Largest (8) bubbled to the end.

Pass i = 2

  • j = 1: compare (3, 6) → keep → [3, 6, 5, 2, 8]

  • j = 2: compare (6, 5) → swap → [3, 5, 6, 2, 8]

  • j = 3: compare (6, 2) → swap → [3, 5, 2, 6, 8]
    Now the second largest (6) is in place.

Pass i = 3

  • j = 1: compare (3, 5) → keep → [3, 5, 2, 6, 8]

  • j = 2: compare (5, 2) → swap → [3, 2, 5, 6, 8]

Pass i = 4

  • j = 1: compare (3, 2) → swap → [2, 3, 5, 6, 8]

Sorted result: [2, 3, 5, 6, 8]

Program

mylist = [6, 3, 8, 5, 2]

n = len(mylist)

print(n)

for i in range(n):

for j in range(n-i-1):

if mylist[j] > mylist[j+1]:

mylist[j], mylist[j+1] = mylist[j+1], mylist[j]

print(mylist)