Se submeter
no Mooshak, deverá apenas submeter uma classe ED194 contendo um
método estático reverse como a seguir descrito (não é
necessário um programa completo).
Pode assumir que terá acesso no Mooshak às "classes de pilhas" descritas na respectiva aula prática.
Deve inverter, na pilha, os seus primeiros n elementos. Por exemplo, se s for {1,2,3,4,5} (com 1 no topo da pilha), então uma chamada a reverse(s, 3) deve transformar s em {3,2,1,4,5}.
Pode assumir que n é um valor entre 1 e o tamanho da pilha.
Pilha inicial | Chamada | Estado da pilha depois da chamada |
---|---|---|
s = {1,2,3,4,5} | ED194.reverse(s, 3) | s = {3,2,1,4,5} |
s = {2,4,6,8} | ED194.reverse(s, 4) | s = {8,6,4,2} |
s = {1,2,3} | ED194.reverse(s, 1) | s = {1,2,3} |
s = {11,12,13,14,15,16,17,18,19,20} | ED194.reverse(s, 6) | s = {16,15,14,13,12,11,17,18,19,20} |
Estruturas de Dados (CC1007)
DCC/FCUP - Faculdade de Ciências da Universidade do Porto