qsort()

C stdlib qsort() funksiyasi

❮ C stdlib kutubxonasi


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.


❮ C stdlib kutubxonasi

W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!