Bilgisayar bilimindeki matematiksel varlıkların doğrudan somutlaşmış hali olan veri yapılarından biri de kümelerdir. Onlarla yapılan işlemler genellikle çeşitli algoritmaların temelini oluşturur. Farklı programlama dillerinin kümeleri tanımlamak için kendi araçları vardır.
Gerekli
- - geliştirme ortamı;
- - seçilen programlama dilinden çevirmen.
Talimatlar
Aşama 1
Varsa, programlama dilini kullanarak seti tanımlayın. Örneğin, Pascal dilinde, karşılık gelen türleri bildirmenize izin veren bir küme yapısı vardır. Doğru, bu tür kümelerin hacmi 256 öğeyi geçmemelidir. Küme türü bildirimlerinin bir örneği şöyle görünebilir:
tip
AZHarfler = 'A' kümesi.. 'Z';
AllLetters = karakter kümesi;
Küme olan türlerin değişkenleri ve sabitleri olağan şekilde bildirilir. Bu durumda, başlatma için sabit değerler kullanılabilir. Örneğin:
const
LettersSet1: AZHarfler = ['A', 'B', 'C'];
Adım 2
Kümeleri tanımlamak için standart kitaplıkların veya modüllerin yeteneklerini kullanın. Bu nedenle, derleyiciyle birlikte verilmesi gereken C++ şablon kitaplığı, kümelerin işlevselliğini uygulayan küme kapsayıcı sınıfı için bir şablon içerir:
şablon <
sınıf Anahtar, sınıf Özellikler = daha az, sınıf Ayırıcı = ayırıcı
sınıf seti
Listeden de görebileceğiniz gibi, küme şablonunun argümanları şunlardır: kümenin öğelerinin veri türü, kümedeki öğelerin sırasını belirlemek için işlevsel nesnenin türü ve bellek ayırıcının türü.. Bu durumda, yalnızca ilk argüman gereklidir (diğer ikisi gibi, standart ikili yüklem daha az ve standart ayırıcı varsayılan olarak kullanılır).
Aşama 3
Varsa, kümelerle çalışma işlevselliğini uygulayan çerçevelerin geliştirilmesinde kullanılan sınıfları veya sınıf şablonlarını uygulayın. Böyle bir aracın bir örneği, Qt kitaplığının QtCore modülünün QSet şablon sınıfıdır. Yetenekleri, önceki adımda açıklanan STL set konteynerininkilere benzer.
4. Adım
Kendi uygulama araçlarınızı kullanarak seti tanımlayın. Basit türdeki ve küçük boyutlu öğe kümeleri için sabit uzunluklu dizilerde depolanan bit bayraklarını kullanın. Karmaşık veri türleri için bir küme kapsayıcı sınıfı uygulayın. Temel olarak, ilişkisel veya karma ilişkisel dizilerin işlevselliğini alabilirsiniz. Bu da, kendi kendini dengeleyen ikili arama ağaçları (örneğin, kırmızı-siyah ağaçlar) temelinde oluşturulabilir.