02.10.2021 a las 19:17
Es cierto que hoy en día ya viene por defecto con cualquier lenguaje de programación un método para ordenar array, por ejemplo, el método sort de JavaScript, C#, Java..., pero puede ser un algoritmo que te pidan en una entrevista técnica.
Dado un array de números, crear un algoritmo para ordenar crecientemente el array.
Para resolverlo:
Lo voy hacer usando recursividad, es decir, la instrucción de salida de la recursividad será un flag que pasaré a true si no hay ningún cambio de posición
Voy a usar TypeScript
const arrayInput: number[]=[12,32,13,56,34,86,38,90,39,45,1] const sortArray = (array:number[])=>{ let flagChange:boolean=false; for(let i=0; i<array.length-1; i++){ if(array[i]>array[i+1]){ const number_i:number=array[i]; const number_i_plus_one:number=array[i+1]; array[i]=number_i_plus_one; array[i+1]=number_i; flagChange=true; } } if (flagChange) sortArray(array); return array; } console.log(sortArray(arrayInput)); [LOG]: [1, 12, 13, 32, 34, 38, 39, 45, 56, 86, 90]
La salida del código anterior es:
[LOG]: [1, 12, 13, 32, 34, 38, 39, 45, 56, 86, 90]
Hasta luego 🖖
Software
IoT
Digitalización
Aplicaciones móviles
Consultoría