Я создал двойной список, как показано ниже.Невозможно прочитать в порядке LIFO с использованием коллекции стека
List<Stack<Vertex>> allPaths = new ArrayList<Stack<Vertex>>();
Когда я собираю все пути в стек, делая DFS и попытаться напечатать каждый стек, используя для каждого итератора над коллекции стека, он печатает в порядке их поступления.
void print(List<Stack<Vertex>> allPaths){
for(Stack<Vertex> eachPath : allPaths){
for(Vertex eachVertex: eachPath){
System.out.print(eachVertex.name+" ");
}
System.out.println();
} // end of stack iterator
} // end of print() function
Таким образом, если порядок, в котором каждый узел получает визит завершено это: 4-> 3-> 2-> 1, он печатает 4-> 3-> 2-> 1. Какая лучшая коллекция используется здесь вместо стека, чтобы получить заказ LIFO? Кажется, что существует проблема с поведением итератора, возвращенного по стеку. Он не работает в LIFO.
@EJP Я уже упомянул, что в вопросе. В любом случае спасибо – Zack