Bubble sort · Sắp xếp nổi bọt
Sorting puts items in order
- Sorting rearranges a list into order — smallest to largest, say.
- Bubble sort is the standard method named in the syllabus.
- It compares neighbours and swaps any that are the wrong way round.
Sắp xếp sắp xếp các mục theo thứ tự
- Sắp xếp sắp xếp lại một danh sách theo thứ tự — từ nhỏ đến lớn, ví dụ.
- Sắp xếp bong bóng là phương pháp tiêu chuẩn được nêu trong chương trình học.
- Nó so sánh các phần tử kề nhau và hoán đổi bất kỳ cặp nào đang ở vị trí sai.
Swapping two values
- To sort, you must swap two items.
- Python can swap in one line:
a, b = b, a.
Hoán đổi hai giá trị
- Để sắp xếp, bạn phải hoán đổi hai mục.
- Python có thể hoán đổi trong một dòng:
a, b = b, a.
a = 5
b = 9
a, b = b, a
print(a, b) # 9 5
Bubble sort: compare neighbours
- Walk the list comparing each pair of neighbours.
- If the left one is bigger, swap them — the biggest "bubbles" to the end.
- Repeat the passes until the list is in order.
Sắp xếp bong bóng: so sánh các phần tử kề nhau
- Duyệt qua danh sách, so sánh từng cặp phần tử kề nhau.
- Nếu phần tử bên trái lớn hơn, hãy hoán đổi chúng — phần tử lớn nhất sẽ "nổi" về cuối.
- Lặp lại các lượt duyệt cho đến khi danh sách được sắp xếp hoàn chỉnh.
nums = [5, 1, 4, 2]
for i in range(len(nums) - 1):
for j in range(len(nums) - 1 - i):
if nums[j] > nums[j + 1]:
nums[j], nums[j + 1] = nums[j + 1], nums[j]
print(nums) # [1, 2, 4, 5]
In the exam: bubble sort
- The exam writes bubble sort in pseudocode with nested loops and a swap.
Trong bài thi: sắp xếp bong bóng
- Bài thi viết sắp xếp bong bóng dưới dạng giả mã với vòng lặp lồng nhau và phép hoán đổi.
FOR I ← 1 TO N - 1
FOR J ← 1 TO N - 1
IF List[J] > List[J + 1]
THEN
Temp ← List[J]
List[J] ← List[J + 1]
List[J + 1] ← Temp
ENDIF
NEXT J
NEXT I
Watch bubble sort work · Quan sát cách sắp xếp nổi bọt hoạt động
Compare neighbours and swap any out of order; the biggest bubbles to the end. · So sánh các phần tử kề nhau và hoán đổi các cặp bị sai thứ tự; phần tử lớn nhất sẽ nổi lên cuối cùng.
Common mistakes
- Each pass moves the largest remaining value to the end.
- If a whole pass makes no swaps, the list is already sorted.
Lỗi thường gặp
- Mỗi lượt duyệt đưa giá trị lớn nhất còn lại về cuối danh sách.
- Nếu một lượt duyệt hoàn toàn không thực hiện phép hoán đổi nào, danh sách đã được sắp xếp rồi.
Now you try
- Swap two values, then sort a whole list.
- Press Check answer to test your code.
Bây giờ bạn thử
- Hoán đổi hai giá trị, sau đó sắp xếp cả danh sách.
- Nhấn Check answer (Kiểm tra câu trả lời) để thử mã của bạn.
Swap the values of a and b, so that afterwards a is 9 and b is 5. · Hoán đổi giá trị của a và b, để sau khi thực hiện thì a bằng 9 và b bằng 5.
Click Run to see the output here. · Nhấn Chạy để xem kết quả ở đây.
Sort the list nums into ascending order (smallest first) using a bubble sort. The result should be [1, 2, 4, 5]. · Sắp xếp danh sách nums theo thứ tự tăng dần (nhỏ trước lớn sau) bằng thuật toán sắp xếp nổi bọt. Kết quả sẽ là [1, 2, 4, 5].
Click Run to see the output here. · Nhấn Chạy để xem kết quả ở đây.
Write is_sorted(nums) that returns True if the list is already in ascending order, otherwise False. · Viết is_sorted(nums) trả về True nếu danh sách đã được sắp xếp theo thứ tự tăng dần, ngược lại trả về False.
Click Run to see the output here. · Nhấn Chạy để xem kết quả ở đây.