Arquivo fonte: L2Q1.java | L2Q1.c | L2Q1.cpp
Arquivo de entrada: L2Q1.in
Arquivo de saída: L2Q1.out
O arquivo de entrada consiste de vários conjuntos de dados. Cada conjunto de dados contém duas linhas: a primeira linha contém o número de elementos a serem inseridos e a segunda linha contém os elementos que serão inseridos, na ordem em que aparecem, na árvore AVL. O conjunto de dados que iniciar com 0 (zero) como número de elementos indica fim de execução e esse conjunto não deve ser processado.
A saída terá 4 linhas:
1ª Deve ser impresso "Conjunto #x" onde x é o
número do conjunto de dados que você está trabalhando
2ª Deve ser impressa a
árvore após as inserções em pre-order
3ª Deve ser impressa a árvore após as
inserções em in-order
4ª Deve ser impressa a árvore após as inserções em
pos-order
Obs: Deve existir um
espaço entre dois nós da ávore
impressos.
Pedimos (Exigimos) que faça a impressão in-order com recursão, ao invés
de ordenar o conjunto de dados e
imprimir
(Senão não será considerado)
Entrada exemplo:
3 2 3 1 5 1 2 3 4 5 10 2 1001 5 13 14 15 9 10 102 103 1 10000 0Saída exemplo correspondente à entrada acima:
Conjunto #1 2 1 3 1 2 3 1 3 2 Conjunto #2 2 1 4 3 5 1 2 3 4 5 1 3 5 4 2 Conjunto #3 14 5 2 10 9 13 102 15 1001 103 2 5 9 10 13 14 15 102 103 1001 2 9 13 10 5 15 103 1001 102 14 Conjunto #4 10000 10000 10000
Obs.: