Menu
CoddyTech

Triển khai (phần 2)

Bài học 6 trên 9 trong khóa học Merge Sort: loạt bài về DSA của Coddy.

Bây giờ, chúng ta kết hợp việc chia và trộn thành thuật toán hoàn chỉnh.

challenge icon

Thử thách

Dễ

Giờ hãy kết hợp tất cả thành thuật toán hoàn chỉnh.

Viết một hàm (function) có tên mergeSort, nhận vào một mảng số nguyên và trả về mảng đã được sắp xếp theo thứ tự tăng dần.

Chia mảng thành hai nửa, sắp xếp từng nửa bằng cách gọi mergeSort cho nửa đó (đệ quy), rồi gộp hai nửa đã sắp xếp lại với nhau. Mảng có 0 hoặc 1 phần tử đã được sắp xếp, vì vậy hãy trả về mảng đó nguyên trạng.

Bạn có thể dùng lại logic gộp từ bài học trước.

Tự làm thử

#include <stdlib.h>

int* mergeSort(int* arr, int arr_size, int* returnSize) {
    // Viết code ở đây
    *returnSize = arr_size;
    return arr;
}
quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Merge Sort: loạt bài về DSA

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