Ordenar elementos de un array

CBeginner
Practicar Ahora

Introducción

Esta práctica te guiará a través de un proceso paso a paso para ordenar los elementos de un array en orden ascendente.

Crea un nuevo archivo

Crea un nuevo archivo de programa C llamado main.c en el directorio ~/project/. Este será el lugar donde escribirás tu código.

Declara variables

Comienza declarando las variables necesarias que usarás al ordenar el array:

#include <stdio.h>

int main()
{
    int n, i, j, temp, arr[100];
  • n almacena el número de elementos
  • arr será el array que contendrá los elementos
  • i y j son contadores de bucle
  • temp es una variable temporal usada para intercambiar elementos

Ingresa los elementos del array

Pide al usuario que ingrese el número de elementos que desea ordenar y luego pídale que ingrese cada elemento:

    printf("Enter the number of elements you want to sort (max 100): ");
    scanf("%d", &n);
    printf("Enter %d integers: \n", n);
    for(i = 0; i < n; i++)
        scanf("%d", &arr[i]);

Ordena los elementos del array

Utiliza un bucle for anidado para ordenar el array:

    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;
            }
        }
    }

Muestra los elementos del array ordenado

Muestra los elementos del array ordenados:

    printf("Sorted list in ascending order:\n");
    for(i = 0; i < n; i++)
        printf("%d ", arr[i]);
    printf("\n");

Compila y ejecuta el programa

Compila y ejecuta el programa para asegurarte de que funcione correctamente.

Código completo en main.c

#include <stdio.h>

int main()
{
    int n, i, j, temp, arr[100];

    printf("Enter the number of elements you want to sort (max 100): ");
    scanf("%d", &n);
    printf("Enter %d integers: \n", n);
    for(i = 0; i < n; i++)
        scanf("%d", &arr[i]);

    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;
            }
        }
    }

    printf("Sorted list in ascending order:\n");
    for(i = 0; i < n; i++)
        printf("%d ", arr[i]);
    printf("\n");

    return 0;
}

Resumen

En este laboratorio, has aprendido cómo ordenar los elementos de un array en orden ascendente utilizando un programa en C. Ahora puedes utilizar este conocimiento para ordenar arrays con tu propio código.