Argumento unico em recursividade

1 resposta
R

pessoal estou com o seguinte metodo recursivo de encaminhamento em arvore:

public void caminhamentoCentral(No arv, int ind, int [] vet) {
        if(arv!=null) {
            caminhamentoCentral(arv.esq,ind,vet);
            vet[ind]=arv.item;
            ind++;
            caminhamentoCentral(arv.dir,ind,vet);
        }
    }

A minha duvida é o seguinte. Como posso fazer para que o argumento “ind” seja fixo em todas as chamadas recursisvas?
Por exemplo, desse modo, a cada chamada ind esta ficando com um valor, quando é alterado ele não fica fixo para todos, é como se fosse criado um argumento ind para cada chamada feita. Gostaria de saber como fazer que IND mesmo tendo seu valor trocado no ind++, seja fixo em todo o escopo do metodo recursivo ao inves de chamada. É como no pascal, quando usa o prefixo var variavel.

É possivel?

Abraços,

1 Resposta

R

Acabei usando como um atributo da classe onde está o método - já que o metodo é chamado na classe Main.

public void caminhamentoCentral(No arv, int [] vet) {
        if(arv!=null) {
            caminhamentoCentral(arv.esq,vet);
            vet[ind]=arv.item;
            this.ind++;
            caminhamentoCentral(arv.dir,vet);
        }
    }

tem uma forma mais elegante de fazer isso, ou é dessa forma que deve ser feito nesse tipo de situação?

tè,

Criado 7 de outubro de 2006
Ultima resposta 7 de out. de 2006
Respostas 1
Participantes 1