Ver Mensaje Individual
  #8 (permalink)  
Antiguo 07/10/2013, 06:09
Avatar de zerokilled
zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años, 7 meses
Puntos: 1485
Respuesta: Algoritmo para ordenar matriz sin usar método .SORT, pero con problema.

solo por simple coincidencia, el resultado aparenta estar bien... pero el código está mal. si agregas más elementos al array perhermanos o incluso si cambias el orden, por ejemplo Array(p2,p1,p3), vas a notar que el resultado no es el mismo. el error está en el bucle interno; estás cambiando la condición del bucle mediante una resta que no tiene sentido. especificamente, la resta con la variable j.

en fin, esta es mi adaptación al código utilizando como base el código inicial.
Código:
function arbol(){
var p1=new Array("10001","2","10121952","3");
var p2=new Array("10002","5","15121955","6");
var p3=new Array("10003","8","23081947","9");
var perhermanos=new Array(p2,p1,p3);
var perhermanosbis=new Array();
    var mayor=0;
	while (perhermanos.length){
	if (perhermanos.length == 1){ perhermanosbis.push(perhermanos.pop()); break; }
	var fechamasantigua="9999999999";
		for(var i=0, len=perhermanos.length; i<len; i++){
		// YYYYMMDDXX
		var fechaactual = perhermanos[i][2].substr(4,4) + perhermanos[i][2].substr(2,2) + perhermanos[i][2].substr(0,2) + perhermanos[i][0].substr(3,2);
			if (Number(fechaactual) < Number(fechamasantigua)){
			fechamasantigua=fechaactual;
			mayor=i;
			} else { continue; }
		} // Fin for.
	perhermanosbis.push(perhermanos.splice(mayor,1));
	} // Fin for.
console.log(perhermanosbis.toString());
} // Fin function arbol.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.

Última edición por zerokilled; 07/10/2013 a las 06:15