Próbuję zaimplementować wyszukiwanie A * w Scali (wersja 2.10), ale natknąłem się na ścianę z cegieł - nie mogę wymyślić, jak użyć kolejki priorytetowej Scala. Wydaje się, że to proste zadanie, ale wyszukiwanie w Google niczego nie zmieniło (z wyjątkiem pojedynczej próbki kodu, która przestała działać w wersji 2.8)Jak używać kolejek priorytetowych w Scali?
Mam zestaw kwadratów, reprezentowanych przez (Int, Int)
s, a także należy wstawić je z priorytetami reprezentowanymi przez Int
. W Pythonie jest to dość proste, ponieważ masz tylko listę par klucz, wartość i użyj funkcji heapq, aby ją posortować. Wygląda jednak na to, że krotki Scali nie są nawet porównywalne.
Jak to zrobić? Jestem zaskoczony całkowitym brakiem informacji online, biorąc pod uwagę, jak prosty powinien być.
Dzięki. Próbowałem wcześniej zaimportować 'scala.math.Ordering.Implicits._', ale przegapiłem pewien okres. – Antimony
@Antimony, zobacz edycję. Wprowadziłem Cię w błąd przy + = operacji, musisz użyć '.enqueue' –