Estrutura de dados

5 respostas
java-seprogramaçãojavascriptjava
Alberto_junior

Pessoal eu tenho meus metodos de pilha e fila completo com inserir remover empilhar e etc,
Minha duvida é o seguinte como faco para criar um metodode pilha e fila para immprimir invertido?
os metodos tem que ser filaInverte, PilhaInverte

5 Respostas

lucas.sampaio

Ao inves de percorrer pra frente (incremento)… percorre voltando (decremento).
Ou seja do fim para o começo.

Nota: Faz de conta que a variável a é a pilha ou a fila.

Exemplo:

public static void main(String[] args) {
    int[] a = {1, 2, 3, 4, 5};
    System.out.println("Indo: ");
    for (int i = 0; i <= a.length; i++) {
        System.out.print(i);
    }
    System.out.println("\nVoltando: ");
    for (int i = a.length; i >= 0; i--) {
        System.out.print(i);
    }
}
Alberto_junior

amigo mais como faz para eu chamr meu metodo ja pronto? e imprimir?

lucas.sampaio

Não sei se estou entendendo. Cria um método só pra exibir os dados e depois chama-o.

rodevops

Ambos os fors podem soltar ArrayIndexOutOfBoundsException (posição inexistente do array)…

for (int i = 0; i <= a.length; i++) {

Deveria ser…

for (int i = 0; i < a.length; i++) {

Ou

for (int i = 0; i <= a.length - 1; i++) {

O segundo for…

for (int i = a.length; i >= 0; i--) {

Deveria ser…

for (int i = a.length - 1; i >= 0; i--) {

Isso porque nesse exemplo não existe a posição 5 do array, mas sim 0-4…

lucas.sampaio

Pois é. Foi um deslize, era pra ter colocado o tamanho - 1 ou até menor do que o tamanho (que foi oque você fez). Mas é isso, não podemos esquecer os mínimos detalhes pois fazem toda a diferença. Show de bola :slight_smile: .

Criado 18 de julho de 2017
Ultima resposta 20 de jul. de 2017
Respostas 5
Participantes 3