Karşılaştırma İşlevinin Tanımlanması
Önceki IX. Oylum - Arama ve Sıralama Sonraki
Karşılaştırma İşlevinin Tanımlanması
Sıralı dizi kütüphanesi işlevlerinin kullanılması sırasında dizi elemanlarının nasıl karşılaştırılacağını belirtmelisiniz.
Bunu yapmak için, dizideki iki elemanı karşılaştıracak bir karşılaştırma işlevi sağlamalısınız. Kütüphane bu işlevi çağırırken karşılaştırılacak dizi elemanlarını işleve argüman olarak belirtecektir. Karşılaştıma işleviniz strcmp (Dizi/Dizge Karşılaştırması) işlevinin yaptığı gibi bir değer döndürmelidir: İlk argüman ikincisinden küçükse negatif, büyükse pozitif değer döner.
Aşağıdaki örnekte, double türünden sayılardan oluşan bir dizi ile çalışan bir karşılaştırma işlevi vardır:
int
compare_doubles (const void *a, const void *b)
{
  const double *da = (const double *) a;
  const double *db = (const double *) b;

  return (*da > *db) - (*da < *db);
}
Karşılaştırma işlevlerinin veri türü olan isim stdlib.h başlık dosyasında tanımlanmıştır. Bu veri türü bir GNU oluşumudur.
int comparison_fn_t (const void *, const void *);
Önceki Üst Ana Başlık Sonraki
IX. Oylum - Arama ve Sıralama Başlangıç Dizi Arama İşlevleri
Bir Linux Kitaplığı Sayfası