Една стъпка в алгоритъма за намиране на път A* изисква търсене в списъка с отворени възли за възела, с който в момента взаимодействате, и добавяне на този възел към списъка, ако още не е там, или актуализиране на неговата стойност и родител, ако присъства но с по-високо тегло от текущата версия на възела.
Тези поведения не се поддържат в STL структурата priority_queue. Как трябва да приложа тази стъпка?
Актуализации, тъй като този въпрос получава много гледания:
std::priority_queue може да изглежда като добър избор за това, но не е.
Внедряването на A* сами е огромен стимул за повишаване на увереността, но след като го направите, трябва да опитате да преминете към използването на този, предоставен от boost. Бях нервен да го инсталирам, когато зададох този въпрос, но инсталирането е много лесно и няма да доведе до никакви усложнения; и A* не е единствената полезна функционалност, която осигурява boost. (По-специално, ако не използвате тяхната функционалност за обработка на низове, в крайна сметка ще напишете свое собствено копие от него; говоря от личен опит...)