вектор — топологическая сортировка DAG в C ++; структура данных для хранения отсортированного списка?

Я реализовал топологическую сортировку ориентированного ациклического графа в C ++, который выводит топологический отсортированный список.

Я вижу некоторые реализации, где отсортированный список хранится в std::stackи некоторые в std::vector, Я не уверен, какая или какая-то другая структура данных будет наиболее подходящей для моего случая. По сути, мне просто нужно перебрать этот отсортированный список и извлечь элементы, хранящиеся сверху вниз. Список не изменяется в процессе извлечения.

Используя std::vector кажется бесполезной, из-за сложности со временем, так как я буду перераспределять вектор каждый раз, когда новый элемент добавляется в список. Этот список может стать довольно массовым.

Кажется, я не могу пройти через std::stack в соответствии с Как пройти через стек в C ++?.

Есть ли другой вариант, который будет более подходящим для того, что я хочу сделать?

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]