Bắt đầu ngayBắt đầu miễn phí

Sửa lỗi trong thuật toán sắp xếp nổi bọt (bubble sort)

Bạn được cung cấp một chương trình sắp xếp danh sách số bằng thuật toán bubble sort. Khi kiểm thử, bạn nhận ra mã chưa đúng. Bạn có thể sửa thuật toán để nó hoạt động chính xác không?

Bài tập này là một phần của khóa học

Cấu trúc dữ liệu và Thuật toán với Python

Xem khóa học

Hướng dẫn bài tập

  • Sửa lỗi trong phần gán biến is_sorted.
  • Sửa lỗi khi kiểm tra các giá trị liền kề.
  • Sửa lỗi khi cập nhật giá trị cho biến list_length.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

def bubble_sort(my_list):
  list_length = len(my_list)
  # Correct the mistake
  is_sorted = True
  while not is_sorted:
    is_sorted = True
    for i in range(list_length-1):
      # Correct the mistake
      if my_list[i] < my_list[i+1]:
        my_list[i] , my_list[i+1] = my_list[i+1] , my_list[i]
        is_sorted = False
    # Correct the mistake
    list_length += 1
  return my_list

print(bubble_sort([5, 7, 9, 1, 4, 2]))
Chỉnh sửa và Chạy Mã