Queremos codificar un algoritmo en Java que utilizando una instancia de un tipo abstrato de datos en forma de lista
En este ejemplo vamos a utilizar el Vector [2,8,2,5,17,5,3]. Como podéis observar el primer elemento que cumple estas condiciones, es decir, que sea la suma de los anteriores es el elemento 17. Si sumas 2+8+2+5 el resultado es 17, y no existe otro elemento anterior a 17 que sea la suma de los anteriores.
En el caso de que no encuentre ningún elemento que sea la suma de los anteriores la función devolverá un mensaje indicando que no existen estos elementos.
En pseudocódigo sería algo así:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | public Integer sumaAnteriores(Lista<Integer> l) { Recorrido<Integer> r=l.posiciones(); Posicion<Integer> pos; Integer elem=new Integer(0); Integer sumaAnt=0; boolean encontrado=false; while (r.haySiguiente() && !encontrado) { pos=r.siguiente(); elem=pos.getElem(); if (elem.intValue() == sumaAnt.intValue()) encontrado=true; else sumaAnt+=elem; } if (encontrado) return elem; else System.out.print ("No se han encontrado elementos"); } |