Código:
La cual hay q implementarla pero sin recursividad osea de forma iterativa la cual deje asi:public void ref(int pos){ int aux[]; int N = pixels.length; if(2*pos<N){ aux = pixels[N-pos-1]; pixels[N-pos-1] = pixels[pos]; pixels[pos] = aux; ref(pos+1); } }
Código:
Que por logica deberian hacer lo mismo... pero mi duda en verdad es la siguiente... para ver que es lo q hacia el metodo le puse unos println despues de las variables para ver como se comportaban y mi sorpresa fue cuando vi por pantalla lo siguiente:public void ref2(int pos){ int aux[]; int N = pixels.length; for(int i=0;N>2*pos;i++){ aux = pixels[N-pos-1]; pixels[N-pos-1] = pixels[pos]; pixels[pos] = aux; pos++; }
El valor de pos es:0
El valor de N es:2
El valor de pixels[N-pos-1] es:[Iarroba1888759
El valor de aux es:[Iarroba1888759
El valor de pixels[pos] es:[Iarrobae53108
El valor de pixels[N-pos-1] es:[Iarrobae53108
El valor de aux es:[Iarroba1888759
El valor de pos es:[Iarroba1888759
Lo mas curioso es que esos [Iarroba cambian cada vez que uno ejecuta el programa nuevamente asi que en verdad no se a q corresponden. De verdad estoy muy perdido ojala me entiendan y me puedan ayudar
Salu2!