Sắp xếp mảng trong C

Mình học C và có đọc trên mạng có một đoạn code vè sắp xếp mảng nhưng mình chưa hiểu lắm cách nó thực hiện ai biết chỉ mình với?

int compare (const void * a, const void * b){
        return ( *(int*)a - *(int*)b );

}

sao return lại sắp xếp được mảng vậy?

Chi tiết là có 1 quy ước như sau: nếu trị trả về là âm thì *a < *b, bằng 0 thì bằng nhau và dương thì *a lớn hơn. Nôm na là hàm viết theo thứ tự cần sắp xếp.

Một điều lí thú là ta có thể sắp xếp dãy phân số (vâng, phân số; số nguyên thì dễ hơn) sao cho bất cứ dãy nào đều có phần tử nhỏ nhất (không phải < bình thường).

1 Like

Uk mình hiểu nhầm đoạn return của code mà giờ không bit cách xóa bài :sweat_smile:

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?