01/10/2018, 12:26

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?

rogp10 viết 14:34 ngày 01/10/2018

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).

Hung Nguyen viết 14:42 ngày 01/10/2018

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

Bài liên quan
0