Algoritmo para ordenar array

Publicado el 02.10.2021 a las 19:17

Algoritmo para ordenar array

Algoritmo para ordenar array

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.

Explicación del algoritmo

Dado un array de números, crear un algoritmo para ordenar crecientemente el array.


Para resolverlo:

  1. Tomo el primer elemento del array y lo comparo con el segundo, si el primer elemento es mayor lo cambio de posición, si es menor lo dejo igual
  2. Tomo el segundo array y lo comparo con el tercero, así hasta acabar con el array
  3. Cuando termino con el array vuelvo a hacerlo, hasta que detecte que no se ha cambiado ninguna de posición

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

Código

  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 🖖

Servicios

Software

IoT

Digitalización

Aplicaciones móviles

Consultoría

fjmduran.com v0.2.2