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.
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
1Kiến thức cơ bản về sắp xếp nổi bọt
Giới thiệuCách hoạt động của sắp xếp nổi bọtHoán đổi các phần tử liền kềThuật toán sắp xếp nổi bọtTự luyện tập: Trình biên dịch C online