Hàm qsort() trong C
Hàm qsort() trong C
Hàm void qsort(void *base, so-phan-tu, kich-co, int (*compar)(const void *, const void*)) sắp xếp một mảng.
Hàm qsort() là viết tắt của Quick Sort, được viết dựa trên giải thuật Sắp xếp nhanh (Quick Sort).
Khai báo hàm qsort() trong C
Dưới đây là phần khai báo cho qsort() trong C:
void qsort(void *base, so-phan-tu, kich-co, int (*compar)(const void *, const void*))
Tham số
base: Đây là con trỏ tới phần tử đầu tiên của mảng cần được sắp xếp.
so-phan-tu: Đây là số phần tử trong mảng được trỏ bởi con trỏ base.
kich-co: Đây là kích cỡ (bằng byte) của mỗi phần tử trong mảng.
compar: Hàm so sánh hai phần tử.
Trả về giá trị
Hàm này không trả về bất cứ giá trị nào.
Ví dụ
Chương trình C sau minh họa cách sử dụng của qsort() trong C:
#include <stdio.h> #include <stdlib.h> int values[] = { 88, 56, 100, 2, 25 }; int cmpfunc (const void * a, const void * b) { return ( *(int*)a - *(int*)b ); } int main() { int n; printf("Truoc khi sap xep, list co dang: \n"); for( n = 0 ; n < 5; n++ ) { printf("%d ", values[n]); } qsort(values, 5, sizeof(int), cmpfunc); printf("\nSau khi sap xep, list co dang: \n"); for( n = 0 ; n < 5; n++ ) { printf("%d ", values[n]); } return(0); }
Biên dịch và chạy chương trình C trên sẽ cho kết quả:
Theo Tutorialspoint
Bài trước: Hàm bsearch() trong C
Bài tiếp: Hàm abs() trong C
676
★ 👨 0 Bình luận
Sắp xếp theo

Xóa Đăng nhập để Gửi
Tham khảo thêm
Bài viết mới nhất
-
8 sự thật thú vị về tiền bạc khiến nhiều người bất ngờ
-
6 tính năng thú vị của Google Earth, trong đó tính năng mới nhất khiến chúng ta sững sờ trước sự thay đổi của trái đất trong 36 năm qua
-
Lý do nhiều thuê bao Viettel nhận được tin nhắn đáng ngờ
-
Choáng với cây đa khổng lồ nhất thế giới tán cây phủ rộng 14.000 m2
-
Chinh phục khối Rubik khó nhất thế giới 17x17x17
-
Hoa bỉ ngạn là hoa gì? Ý nghĩa và truyền thuyết về hoa bỉ ngạn