qsort()
C stdlib qsort() funksiyasi
Misol
Massivni saralang:
// Comparing function:
// Returns a positive number if a is greater than b
// Returns a negative number if a is less than b
// Returns 0 if a is equal to b
int compare(const void *a, const void *b) {
int *valA = a;
int *valB = b;
return *valA - *valB;
}
int main() {
// Create an array
int myArray[] = {20, 32, 5, 2, 24, 15};
int size = sizeof(myArray) / sizeof(myArray[0]);
// Sort the values in the array
qsort (myArray, size, sizeof(myArray[0]), compare);
// Display the values of the array
for(int i = 0; i < size; i++) {
printf("%d ", myArray[i]);
}
return 0;
}
O‘zingiz sinab ko‘ring »
Ta’rif va qo‘llanilishi
qsort() funksiyasi massiv elementlarini kichigidan kattasiga qarab saralaydi.
qsort() funksiyasi <stdlib.h> sarlavha faylida aniqlangan.
Sintaksis
qsort(void * arr, size_t amount, size_t size, compare);
size_t ma’lumot tipi manfiy bo‘lmagan butun sondir.
Parametr qiymatlari
| Parametr | Tavsif |
|---|---|
| arr | Majburiy. Saralanadigan massivni belgilaydi. |
| amount | Majburiy. Massivdagi elementlar sonini belgilaydi. |
| size | Majburiy. Massivdagi bitta elementning baytlarda o‘lchangan hajmini belgilaydi. |
| compare | Majburiy. Massivdagi elementlar juftligini solishtirib, qaysi biri kattaroq ekanini aniqlash uchun ishlatiladigan funksiyani belgilaydi. Funksiya int myFunction(const void * a, const void * b) ko‘rinishida bo‘lishi kerak, bunda a va b parametrlari solishtirilayotgan massiv elementlariga ko‘rsatkichlardir.Agar a b dan katta bo‘lsa, funksiya musbat son, a b dan kichik bo‘lsa, manfiy son, a va b teng bo‘lsa, nol qaytarishi kerak. |
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
