Ordenar una matriz mediante el algoritmo de ordenamiento por selección en C++

Este ejercicio demuestra cómo implementar el algoritmo de ordenamiento por selección en C++ para ordenar un array de enteros. El ordenamiento por selección es un algoritmo de ordenamiento simple e intuitivo basado en la comparación. Funciona buscando repetidamente el elemento mínimo de la parte no ordenada del array y colocándolo al principio. Aunque no es el más eficiente para grandes conjuntos de datos debido a su complejidad temporal de O(n²), es una excelente manera de comprender los principios básicos de ordenamiento y la manipulación de arrays. Al completar este ejercicio, aprenderá a recorrer arrays, usar bucles anidados e intercambiar elementos eficazmente.

Grupo

Algoritmos de Búsqueda y Ordenación en C++

Ojetivo

Cree una función llamada selectionSort que tome como parámetros un array de enteros y su tamaño. Implemente la lógica para encontrar el elemento mínimo en cada pasada e intercambiarlo con el elemento actual. En la función principal, defina un array sin ordenar, aplique la función selectionSort para ordenarlo y luego imprima el array ordenado.

Escriba una función que ordene un array mediante el algoritmo de ordenamiento por selección.

Ejemplo de Código C++

 Copiar Código C++
#include <iostream>   // Include input-output stream library
using namespace std;

// Function to perform selection sort
void selectionSort(int arr[], int n) {
    // Traverse the entire array
    for (int i = 0; i < n - 1; i++) {
        int minIndex = i;  // Assume the current index has the smallest value

        // Search for the smallest element in the unsorted part
        for (int j = i + 1; j < n; j++) {
            if (arr[j] < arr[minIndex]) {
                minIndex = j;  // Update index if smaller element is found
            }
        }

        // Swap the found minimum element with the first unsorted element
        int temp = arr[minIndex];
        arr[minIndex] = arr[i];
        arr[i] = temp;
    }
}

// Main function
int main() {
    // Define an unsorted array
    int arr[] = {29, 10, 14, 37, 13};
    int size = sizeof(arr) / sizeof(arr[0]);  // Calculate the array size

    // Call the selectionSort function to sort the array
    selectionSort(arr, size);

    // Print the sorted array
    cout << "Sorted array: ";
    for (int i = 0; i < size; i++) {
        cout << arr[i] << " ";
    }
    cout << endl;

    return 0;  // End of program
}

 Salida

Sorted array: 10 13 14 29 37 

Comparte este ejercicio C++

Más ejercicios de programación C++Algoritmos de Búsqueda y Ordenación en C++

¡Explora el conjunto de ejercicios de programación en C++! Diseñados específicamente para principiantes, estos ejercicios te ayudarán a desarrollar una sólida comprensión de los fundamentos de C++. Desde variables y tipos de datos hasta estructuras de control y funciones simples, cada ejercicio está diseñado para desafiarte gradualmente a medida que adquieres confianza en la programación en C++.