Implemente um método recursivo que soma todos os elementos contidos em uma lista
simplesmente encadeada (assuma que a lista armazena apenas objetos do tipo Integer).
Como posso fazer isso?
Implemente um método recursivo que soma todos os elementos contidos em uma lista
simplesmente encadeada (assuma que a lista armazena apenas objetos do tipo Integer).
Como posso fazer isso?
Que tal estudar um pouco antes de sair procurando respostas no fórum.
Creio que fornecer resposta a perguntas desse tipo não seja o objetivo deste fórum.
public int soma(No valor) {
return valor == null ? 0 : valor.getValor() + soma(valor.getProximo());
}
public int somaTodos() {
return soma(raiz);
}
Que tal estudar um pouco antes de sair procurando respostas no fórum.Creio que fornecer resposta a perguntas desse tipo não seja o objetivo deste fórum.
E por que não seria? O objetivo do fórum é trocar conhecimento.
O dele deveria ser aprender… mas cada um com sua consciência…
Valeu ViniGodoy
Agora irei fazer o restante dos exercicios pois só me faltava este empurranzinho
Obrigado
oi pessoal
isso ai ainda nao esta recursivo!
tem de ser algo assim
int soma(List<Integer> numeros) {
if (numeros.isEmpty()) return 0;
int primeiroElemento = numeros.remove(0);
return primeiroElemento + soma(numeros); // recursao aqui
}
isso é: se nao tem mais o que somar, retorna 0, se nao pega o primeiro elemento e soma com o restante da lista, tirando o primeiro elemento.
esse codigo em particular tem o side effect de destruir a lista (ela terminara vazia), sem contar que se for uma ArrayList ela sera toda hora rearranjada (ai era melhor remover o ultimo elemento, com uma Queue o codigo ficaria mais bonito de se ler)
Como não? Olhou direito o método Soma(No) ?
public int soma(No valor) {
return valor == null ? 0 : valor.getValor()
+ soma(valor.getProximo()); //Recursão aqui
}
Isso é, se chegou num nó nulo (fim da lista), soma 0.
Caso contrário, o valor é a soma do valor do próprio nó, mais as somas do próximo.
oi vini
desculpe, falha minha.
escrevi a emsma coisa so que com a api do java util, heeh.
heehheeh. :lol: