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
Thứ Bảy, 08/09/2018 08:59
0 Bình luận
Sắp xếp theo

Xóa
Đăng nhập để viết
Tham khảo thêm
Bài viết mới nhất
-
Cách thiết lập máy in mặc định trên Windows 10
-
Cách để Calculator luôn nổi phía trên các ứng dụng Windows 10
-
Cách khắc phục lỗi tổ hợp phím Windows + Space không hoạt động
-
Đã đến lúc nên từ bỏ Facebook Messenger
-
Cách bật lời nhắc tắt nhiều tab trên Microsoft Edge
-
Cách xem lịch âm dương trên máy tính Windows 10
- Ngôn ngữ lập trình C là gì?
- Hướng dẫn cài đặt C
- Cấu trúc chương trình C cơ bản
- Cú pháp cơ bản
- Kiểu dữ liệu
- Biến trong C
- Hằng số
- Lớp lưu trữ
- Các toán tử
- Điều khiển luồng
- Vòng lặp
-
Các hàm trong C
- abort()
- abs()
- atexit()
- atof()
- atoi()
- atol()
- bsearch()
- calloc()
- clearerr()
- ldiv()
- exit()
- fclose()
- feof()
- ferror()
- fflush()
- fgetc()
- fgetpos()
- fgets()
- fopen()
- fprintf()
- fputc()
- fputs()
- fread()
- free()
- freopen()
- fscanf()
- fseek()
- fsetpos()
- ftell()
- fwrite()
- getc()
- getchar()
- getenv()
- gets()
- labs()
- labs()
- malloc()
- mblen()
- mbstowcs()
- mbtowc()
- memchr()
- memcmp()
- memcpy()
- memset()
- perror()
- printf()
- putc()
- putchar()
- puts()
- qsort()
- raise()
- rand()
- realloc()
- remove()
- rename()
- rewind()
- scanf()
- setbuf()
- setvbuf()
- signal()
- sprintf()
- srand()
- sscanf()
- strchr()
- strcmp()
- strcoll()
- strcpy()
- strcspn()
- strerror()
- strlen()
- strncat()
- strncmp()
- strncat()
- strncpy()
- strpbrk()
- strrchr()
- strspn()
- strstr()
- strtod()
- strtok()
- strtol()
- strtod()
- strtoul()
- strxfrm()
- system()
- tmpfile()
- tmpnam()
- ungetc()
- vfprintf()
- vsprintf()
- wcstombs()
- wctomb()
- Quy tắc phạm vi
- Mảng
- Con trỏ
- Chuỗi
- Cấu trúc (Structure)
- Union trong C
- Bit Field
- Typedef
- Input & Output
- Đọc và ghi file
- Bộ tiền xử lý
- Header File
- Ép kiểu
- Xử lý lỗi
- Đệ quy
- Tham số biến
- Quản lý bộ nhớ
- Tham số dòng lệnh
- Thư viện C
Giới thiệu |
Điều khoản |
Bảo mật |
Hướng dẫn |
Ứng dụng |
Liên hệ |
Quảng cáo |
Facebook |
Youtube |
DMCA
Giấy phép số 362/GP-BTTTT. Bộ Thông tin và Truyền thông cấp ngày 30/06/2016.
Cơ quan chủ quản: CÔNG TY CỔ PHẦN MẠNG TRỰC TUYẾN META.
Địa chỉ: 56 Duy Tân, Dịch Vọng Hậu, Cầu Giấy, Hà Nội. Điện thoại: 024 2242 6188. Email: info@meta.vn.
Chịu trách nhiệm nội dung: Lê Ngọc Lam.
Bản quyền © 2003-2021 QuanTriMang.com. Giữ toàn quyền.
Không được sao chép hoặc sử dụng hoặc phát hành lại bất kỳ nội dung nào thuộc QuanTriMang.com khi chưa được phép.