C Programcıları için karma kütüphaneler

click fraud protection

Bu sayfada, C dilinde programlamada size yardımcı olacak bir kütüphane koleksiyonu listelenmektedir. Buradaki kütüphaneler açık kaynaklıdır ve kendi bağlantılı listenizi veya veri yapılarınızı yuvarlamak zorunda kalmadan verileri depolamanıza yardımcı olmak için kullanılır.

Troy D. tarafından geliştirildi Hanson, herhangi bir C yapısı kullanarak bir karma tabloda saklanabilir uthash. Sadece #include "uthash.h" ifadesini ekleyin, sonra yapıya UT_hash_handle ekleyin ve anahtar olarak hareket etmek için yapınızdaki bir veya daha fazla alanı seçin. Daha sonra karma tablosundaki öğeleri saklamak, almak veya silmek için HASH_ADD_INT, HASH_FIND_INT ve makroları kullanın. İnt, string ve binary anahtarları kullanır.

Judy seyrek dinamik bir dizi uygulayan bir C kütüphanesidir. Judy diziler sadece boş olarak bildirilir Işaretçi ve yalnızca doldurulduğunda bellek tüketir. İstenirse kullanılabilir tüm belleği kullanmak için büyüyebilirler. Judy'nin en önemli faydaları ölçeklenebilirlik, yüksek performans ve bellek verimliliğidir. Dinamik olarak boyutlandırılmış diziler, ilişkilendirilebilir diziler veya genişletme veya daralma için yeniden çalışma gerektirmeyen ve birçoğunun yerini alabilen kullanımı kolay bir arabirim için kullanılabilir diziler, seyrek diziler, karma tablolar, B-ağaçları, ikili ağaçlar, doğrusal listeler, atlama listeleri, diğer sıralama ve arama algoritmaları ve sayma gibi yaygın veri yapıları fonksiyonlar.

instagram viewer

SGLIB Basit Genel Kitaplık kısaltmasıdır ve diziler, listeler, sıralı listeler ve kırmızı-siyah ağaçlar için en yaygın algoritmaların genel olarak uygulanmasını sağlayan tek bir sglib.h başlık dosyasından oluşur. Kütüphane geneldir ve kendi veri yapılarını tanımlamaz. Daha ziyade, genel bir arayüz aracılığıyla mevcut kullanıcı tanımlı veri yapıları üzerinde hareket eder. Ayrıca herhangi bir bellek ayırmaz veya yeniden yerleştirmez ve belirli bir bellek yönetimine bağlı değildir.

Tüm algoritmalar, veri yapısı ve karşılaştırıcı işlev (veya karşılaştırıcı makro) türüne göre parametreleştirilmiş makrolar biçiminde uygulanır. Bazı algoritmalar ve veri yapıları için bağlantılı listeler için 'sonraki' alan adı gibi birkaç başka genel parametre gerekebilir.

instagram story viewer