Để mô phỏng thuật toán sắp xếp nổi bọt (Bubble Sort) theo chiều giảm dần trên bộ số 2,−3,9,2,8,6,10,−32, -3, 9, 2, 8, 6, 10, -32,−3,9,2,8,6,10,−3, ta sẽ thực hiện các bước như sau:
- So sánh từng cặp phần tử kế tiếp và hoán đổi chúng nếu phần tử bên trái nhỏ hơn phần tử bên phải (vì sắp xếp giảm dần).
- Lặp lại quá trình này nhiều lần cho đến khi không còn sự hoán đổi nào (mảng đã được sắp xếp).
Mảng ban đầu:
2,−3,9,2,8,6,10,−32, -3, 9, 2, 8, 6, 10, -32,−3,9,2,8,6,10,−3
Bước 1:
- So sánh 222 và −3-3−3: 2>−32 > -32>−3, không đổi.
- So sánh −3-3−3 và 999: −3<9-3 < 9−3<9, hoán đổi thành: 2,9,−3,2,8,6,10,−32, 9, -3, 2, 8, 6, 10, -32,9,−3,2,8,6,10,−3
- So sánh 999 và 222: 9>29 > 29>2, không đổi.
- So sánh 222 và 888: 2<82 < 82<8, hoán đổi thành: 2,9,8,−3,2,6,10,−32, 9, 8, -3, 2, 6, 10, -32,9,8,−3,2,6,10,−3
- So sánh 888 và 666: 8>68 > 68>6, không đổi.
- So sánh 666 và 101010: 6<106 < 106<10, hoán đổi thành: 2,9,8,−3,2,10,6,−32, 9, 8, -3, 2, 10, 6, -32,9,8,−3,2,10,6,−3
- So sánh 101010 và −3-3−3: 10>−310 > -310>−3, không đổi.
Kết quả sau bước 1: 2,9,8,−3,2,10,6,−32, 9, 8, -3, 2, 10, 6, -32,9,8,−3,2,10,6,−3
Bước 2:
- So sánh 222 và 999: 2<92 < 92<9, hoán đổi thành: 9,2,8,−3,2,10,6,−39, 2, 8, -3, 2, 10, 6, -39,2,8,−3,2,10,6,−3
- So sánh 222 và 888: 2<82 < 82<8, hoán đổi thành: 9,8,2,−3,2,10,6,−39, 8, 2, -3, 2, 10, 6, -39,8,2,−3,2,10,6,−3
- So sánh 222 và −3-3−3: 2>−32 > -32>−3, không đổi.
- So sánh −3-3−3 và 222: −3<2-3 < 2−3<2, hoán đổi thành: 9,8,2,2,−3,10,6,−39, 8, 2, 2, -3, 10, 6, -39,8,2,2,−3,10,6,−3
- So sánh 222 và 101010: 2<102 < 102<10, hoán đổi thành: 9,8,2,2,10,−3,6,−39, 8, 2, 2, 10, -3, 6, -39,8,2,2,10,−3,6,−3
- So sánh 101010 và −3-3−3: 10>−310 > -310>−3, không đổi.
Kết quả sau bước 2: 9,8,2,2,10,−3,6,−39, 8, 2, 2, 10, -3, 6, -39,8,2,2,10,−3,6,−3
Bước 3:
- So sánh 999 và 888: 9>89 > 89>8, không đổi.
- So sánh 888 và 222: 8>28 > 28>2, không đổi.
- So sánh 222 và 222: 2=22 = 22=2, không đổi.
- So sánh 222 và 101010: 2<102 < 102<10, hoán đổi thành: 9,8,2,2,−3,10,6,−39, 8, 2, 2, -3, 10, 6, -39,8,2,2,−3,10,6,−3
- So sánh 101010 và −3-3−3: 10>−310 > -310>−3, không đổi.
Kết quả sau bước 3: 9,8,2,2,−3,10,6,−39, 8, 2, 2, -3, 10, 6, -39,8,2,2,−3,10,6,−3
Kết quả cuối cùng:
- Mảng đã được sắp xếp theo chiều giảm dần.