
Ordenar números en C es poner una lista de números en orden, ya sea de menor a mayor (ascendente) o de mayor a menor (descendente). Un programa en C que ordene números toma una lista desordenada y la devuelve ordenada. Veamos cómo se hace esto.
Algoritmos de Ordenamiento
Existen varias formas de ordenar números. Algunos métodos comunes son el ordenamiento de burbuja, el ordenamiento por selección y el ordenamiento por inserción. Cada uno tiene sus propias ventajas y desventajas.
Ordenamiento de Burbuja (Bubble Sort)
El ordenamiento de burbuja compara elementos adyacentes y los intercambia si están en el orden incorrecto. Imagina burbujas subiendo en un vaso de refresco; los elementos más grandes "suben" al final de la lista. Este proceso se repite hasta que toda la lista esté ordenada. Es simple, pero no muy eficiente para listas grandes.
Must Read
Por ejemplo, si tienes la lista: 5, 1, 4, 2, 8. El algoritmo compararía 5 y 1, los intercambiaría (1, 5, 4, 2, 8). Luego compararía 5 y 4 (1, 4, 5, 2, 8), y así sucesivamente.
Ordenamiento por Selección (Selection Sort)
El ordenamiento por selección encuentra el elemento más pequeño (o más grande, según el orden) en la lista y lo coloca al principio (o al final). Luego, encuentra el siguiente elemento más pequeño y lo coloca en su posición, y así sucesivamente. Es como seleccionar el mejor jugador para cada posición en un equipo.

En la misma lista 5, 1, 4, 2, 8, encontraría que 1 es el menor y lo pondría primero: 1, 5, 4, 2, 8. Luego buscaría el menor entre 5, 4, 2, 8 y lo colocaría en la segunda posición.
Ordenamiento por Inserción (Insertion Sort)
El ordenamiento por inserción funciona como cuando ordenamos una baraja de cartas. Tomamos un elemento y lo insertamos en la posición correcta dentro de la parte ya ordenada de la lista. Es eficiente para listas pequeñas o listas que ya están casi ordenadas.

Con 5, 1, 4, 2, 8, tomaría 1 y lo insertaría antes de 5: 1, 5, 4, 2, 8. Luego tomaría 4 y lo insertaría entre 1 y 5: 1, 4, 5, 2, 8, y así sucesivamente.
Código Básico en C
Aquí hay un ejemplo sencillo de ordenamiento de burbuja en C:

void bubbleSort(int arr[], int n) {
int i, j, temp;
for (i = 0; i < n-1; i++) {
for (j = 0; j < n-i-1; j++) {
if (arr[j] > arr[j+1]) {
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
}
Este código toma un array de enteros (arr[]) y su tamaño (n) como entrada. Los bucles for comparan y intercambian los elementos. La variable temp se usa para el intercambio.
Conclusión
Ordenar números en C es una tarea común con varias soluciones. Elegir el algoritmo correcto depende del tamaño de la lista y de la eficiencia que se necesite. Entender los fundamentos te permitirá escribir programas eficientes para ordenar datos.