Menu
CoddyTech

Thuật toán sắp xếp nổi bọt

Bài học 4 trên 11 trong khóa học Sắp xếp nổi bọt của Coddy.

Chúng ta đã tìm hiểu cách lặp qua các phần tử và hoán đổi chúng, nhưng đó chưa phải là toàn bộ thuật toán sắp xếp nổi bọt. Chúng ta cần lặp lại quy trình này cho đến khi toàn bộ danh sách được sắp xếp. 

Như đã đề cập trong các bài học trước, chúng ta nhận thấy rằng sau lượt đầu tiên, phần tử lớn nhất nằm ở cuối danh sách. Và đây là điều chúng ta sẽ cố gắng đạt được qua các lượt tiếp theo.

Vậy cần bao nhiêu lượt?   Nếu danh sách có n phần tử thì sao?

Đúng vậy, cần n lượt để sắp xếp toàn bộ danh sách.

challenge icon

Thử thách

Dễ

 Tạo một hàm có tên bubble_sort nhận một mảng và kích thước của mảng. Duyệt qua mảng, so sánh và đổi chỗ các phần tử liền kề. Lặp lại quy trình này n lần để có danh sách đã sắp xếp. Trả về danh sách đã sắp xếp.

Tự làm thử

#include <stdio.h>
#include <stdlib.h>

int* bubble_sort(int* arr, int arr_size, int n, int* returnSize) {
    // Viết code tại đây
    *returnSize = n;
    return arr;
}

Tất cả bài học trong Sắp xếp nổi bọt

Tự luyện tập: Trình biên dịch C online