Ordenador de números

Ordena listas numéricas en orden ascendente o descendente.

Descripción

Ordenar datos es uno de los problemas más estudiados de la informática — no por nostalgia académica, sino porque ocurre en todos lados y la diferencia entre un algoritmo malo y uno bueno es la diferencia entre un programa que procesa en segundos y uno que se bloquea durante horas. El bubble sort aparece en los libros de texto introductorios como ejemplo didáctico y merece ese lugar: es intuitivo de entender, pero su complejidad O(n²) en tiempo lo hace inaceptable para listas grandes. El merge sort, concebido por John von Neumann en 1945, introdujo la idea de divide y vencerás y demostró ser O(n log n) en el peor caso. El quicksort, inventado por Tony Hoare en 1959, suele ser más rápido en la práctica por ser más amigable con la caché de la CPU, aunque tiene O(n²) en el peor caso con malas elecciones de pivote. Donald Knuth dedicó el tercer volumen completo de The Art of Computer Programming, publicado en 1973, al tema de ordenación y búsqueda.

Existe una trampa clásica para quienes usan JavaScript: el método nativo `Array.prototype.sort()` sin argumento ordena los elementos como texto, no como números. Esto significa que al ordenar `[1, 10, 2, 20]`, el resultado es `[1, 10, 2, 20]` — porque los números se comparan como si fueran palabras: `10` viene antes que `2` igual que `abc` viene antes que `b` en el diccionario. Este comportamiento sorprende a prácticamente todos los desarrolladores de JavaScript al menos una vez. La solución es pasar la función comparadora `(a, b) => a - b` para orden ascendente, o `(a, b) => b - a` para descendente. JavaScript especifica desde ES2019 que `Array.prototype.sort` debe ser estable — es decir, los elementos con valores iguales conservan su orden relativo original. Antes de eso, la estabilidad dependía del motor JavaScript y del tamaño del array.

Ordenar números manualmente es más común en el trabajo técnico cotidiano de lo que parece. Copias 20 valores de una columna de log, 50 resultados de benchmark, o una lista de IDs de base de datos que llegaron desordenados — y solo necesitas saber cuál es el mayor, el menor, o identificar los valores atípicos. Abrir una hoja de cálculo para esto interrumpe el flujo de trabajo. Escribir un script de terminal es excesivo. Esta herramienta acepta números separados por cualquier combinación de comas, espacios y saltos de línea — tal como suelen verse al pegar datos de terminales y tablas — y devuelve la lista ordenada lista para usar.

Detalle técnico

Ideas claras antes de usar la herramienta

  • ¿Para qué sirve esta herramienta?: Funciona por completo en tu navegador: sirve para validar, formatear o convertir datos en el día a día.
  • ¿Se envían mis datos a algún servidor?: El procesamiento es local con JavaScript. No almacenamos lo que pegas en los campos de texto.
  • ¿Puedo usarlo con datos reales en producción?: Úsalo bajo tu responsabilidad. Para secretos (contraseñas, tokens), prefiere entornos controlados y políticas internas. Recuerda de revisar los contenidos generados. Nunca confies ciegamente en cosas que ves en internet.

Fragmento corto para probar

  • Debajo aparece también el ejemplo largo en "Fragmentos de Código"; pega esta versión corta: Ejemplo — 10, 3, 25, -1 -> -1, 3, 10, 25

Guía de la herramienta

  • Qué significa ordenar números Reorganizar una lista numérica en orden ascendente o descendente para facilitar inspección y procesamiento.

  • Qué hace la herramienta Lee números separados por espacios, comas o saltos de línea y los ordena según la dirección elegida.

  • Por qué usarla Revisión rápida de datos, preparación de pruebas y comparación de listas numéricas.

Fragmentos de Código

Ejemplo de código
10, 3, 25, -1 -> -1, 3, 10, 25

Ejemplo

10, 3, 25, -1 -> -1, 3, 10, 25

Preguntas frecuentes

¿Para qué sirve esta herramienta?

Funciona por completo en tu navegador: sirve para validar, formatear o convertir datos en el día a día.

¿Se envían mis datos a algún servidor?

El procesamiento es local con JavaScript. No almacenamos lo que pegas en los campos de texto.

¿Puedo usarlo con datos reales en producción?

Úsalo bajo tu responsabilidad. Para secretos (contraseñas, tokens), prefiere entornos controlados y políticas internas. Recuerda de revisar los contenidos generados. Nunca confies ciegamente en cosas que ves en internet.