Programación General > Java

 Muchas dudas

<< < (2/4) > >>

m0skit0:
Supongo que encolar() mete un elemento al final de la cola y desencolar() saca uno del comienzo. Para devolver una parte de la cola (siendo indice el indicador de hasta qué posición de la cola (ésta incluída) vamos a devolver) invertida hacemos (con recursividad):


--- Código: Java ---public static ColaVectorImpl<String> AntesDe_Invertida (ColaVectorImpl <String> c, int indice) {    String strtemp;        if (c.estaVacio() || indice <= 0)        return new ColaVectorImpl <String>();    else    {        strtemp = c.desencolar();        return AntesDe_Invertida(c, indice-1).encolar(strtemp);    }} 
Ahora para hacer lo mismo pero con la parte de la cola posterior a indice (esta posición sin incluir), podemos hacer:


--- Código: Java ---public static ColaVectorImpl<String> DespuesDe (ColaVectorImpl <String> c, int indice) {       if (c.estaVacio() || indice <= 0)        return c;    else    {        c.desencolar();        return DespuesDe(c, indice-1);    }} 
Dado que este método no devuelve la cola ya invertida, necesitamos una función de inversión (de nuevo, con recursividad):


--- Código: Java ---public static ColaVectorImpl<String> InvertirCola (ColaVectorImpl <String> c) {    String strtemp;        if (c.numElems()<= 1)        return c;    else    {        strtemp = c.desencolar();        return InvertirCola(c).encolar(strtemp);    }} 
Dado que mi nivel de Java es bastante precario (por no decir inexistente :( ), disculpa mis errores de sintaxis. Aparte, no estoy seguro de si estos métodos modifican las colas pasadas como parámetro (creo que sí, prueba a ver).

Disculpa también :argh:  que no pueda probar el código, es que no tengo instalado Java SDK en el trabajo  :bad: .

thepunishercadiz:
Tio muchas gracias!

Ayer no pude conectarme y acabo de ver tu mensaje. Lo probaré esta tarde a ver qué pasa.

De nuevo muchísimas gracias!!!

jotron:
Hola moskito tengo un problema parecido o casi igual lo unico que en vez de cadenas es con números
en el método main es cuando me hago un lío
la primera vez que llamamos a las funciones recursivas lo hace bien porque lo guardo en dos colas cola1 con la primera parte y cola2 con la segunda parte e invierto, ahora bien, la segunda vez me salen 4 colas la tercera 8 colas y la cuarta 16 colas, esto es un chapú no??? como podría implementar el main para hacer las llamadas a las funciones recursivas y que me lo vaya haciendo la inversión????
gracias de antetodo

jotron:

--- Cita de: "jotron" ---Hola moskito tengo un problema parecido o casi igual lo unico que en vez de cadenas es con números
en el método main es cuando me hago un lío
la primera vez que llamamos a las funciones recursivas lo hace bien porque lo guardo en dos colas cola1 con la primera parte y cola2 con la segunda parte e invierto, ahora bien, la segunda vez me salen 4 colas la tercera 8 colas y la cuarta 16 colas, esto es un chapú no??? como podría implementar el main para hacer las llamadas a las funciones recursivas y que me lo vaya haciendo la inversión????
gracias de antetodo
--- Fin de la cita ---

m0skit0:

--- Cita de: "jotron" ---esto es un chapú no???
--- Fin de la cita ---

--- Cita de: "jotron" ---lo guardo en dos colas cola1 con la primera parte y cola2 con la segunda parte e invierto, ahora bien, la segunda vez me salen 4 colas la tercera 8 colas y la cuarta 16 colas
--- Fin de la cita ---
No te comprendo...  :wacko:

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

[*] Página Anterior

Ir a la versión completa