Güncelleme Ağustos 2016: Eğer Chris Okasaki (chrisokasaki
) öneriyi chrisokasaki/scads/scala/heapTraits.scala
düşünebilirsiniz
scala> object MinOrder extends Ordering[Int] {
def compare(x:Int, y:Int) = y compare x
}
defined object MinOrder
Ardından yığın oluştururken bu verileri kullanın. Bir birleştirme işlemi ile türgüvenli yığınları için kavramının
Belgesi:
bu öneri bir Heap
ait "-so-kolay değil" bölümünü göstermektedir.
Burada "typesafe", arabirimin hiçbir zaman farklı yığınların aynı yığın içinde karıştırılmasına izin vermeyeceği anlamına gelir.
- olan bir yığın bir öğe ekleyerek, bu ekleme, mevcut yığın oluşturmak için kullanılandan farklı bir sıralama içermektedir olamaz Özellikle , ve
- mevcut iki yığın birleştirme, yığınları Aynı sipariş ile oluşturulmuş olması garantilidir.
its design bakınız.
val h1 = LeftistHeap.Min.empty[Int] // an empty min-heap of integers
Sadece gelecekteki başvurular için, genellikle "en kolay" ve "en verimli" birbirini dışlayanlardır. –