Maison >développement back-end >C++ >Comment utiliser l'algorithme de tri par sélection en C++

Comment utiliser l'algorithme de tri par sélection en C++

WBOY
WBOYoriginal
2023-09-21 13:28:41807parcourir

Comment utiliser lalgorithme de tri par sélection en C++

Comment utiliser l'algorithme de tri par sélection en C++

Le tri par sélection est un algorithme de tri simple et intuitif. Son principe est de sélectionner en continu la plus petite valeur parmi les éléments restants et de la placer à la fin de la séquence triée. Cet article présentera comment utiliser le langage C++ pour implémenter l'algorithme de tri par sélection et fournira des exemples de code spécifiques pour aider les lecteurs à mieux comprendre et utiliser l'algorithme.

L'idée de base du tri par sélection est la suivante :

  1. Tout d'abord, trouvez la valeur minimale des éléments non triés
  2. Échangez la valeur minimale avec le premier élément de la partie non triée
  3. Parmi les éléments non triés restants ; Répétez les étapes ci-dessus jusqu'à ce que le tri soit terminé.

Ce qui suit est un exemple de code utilisant le langage C++ pour implémenter le tri par sélection :

#include <iostream>
using namespace std;

// 选择排序函数
void selectionSort(int arr[], int n) {
    for (int i = 0; i < n-1; i++) {
        int minIndex = i; // 保存最小值的索引
        for (int j = i+1; j < n; j++) {
            if (arr[j] < arr[minIndex]) {
                minIndex = j; // 更新最小值的索引
            }
        }
        // 将最小值与当前位置的元素交换
        if (minIndex != i) {
            int temp = arr[i];
            arr[i] = arr[minIndex];
            arr[minIndex] = temp;
        }
    }
}

// 打印数组元素
void printArray(int arr[], int size) {
    for (int i = 0; i < size; i++) {
        cout << arr[i] << " ";
    }
    cout << endl;
}

int main() {
    int arr[] = {64, 25, 12, 22, 11};
    int n = sizeof(arr) / sizeof(arr[0]);
    
    cout << "排序前的数组:";
    printArray(arr, n);
    
    selectionSort(arr, n);
    
    cout << "排序后的数组:";
    printArray(arr, n);
    
    return 0;
}

Exécutez le code ci-dessus, le résultat de sortie est le suivant :

排序前的数组:64 25 12 22 11 
排序后的数组:11 12 22 25 64

Grâce à l'exemple de code ci-dessus, nous pouvons voir le processus d'implémentation spécifique du algorithme de tri par sélection. La complexité temporelle de cet algorithme est O(n^2), où n représente la taille du tableau à trier. Bien que le tri par sélection ne soit pas efficace sur de grands ensembles de données, il reste un algorithme de tri simple, compréhensible et efficace pour les petits tableaux ou les tableaux principalement ordonnés.

Pour résumer, cet article présente comment implémenter l'algorithme de tri par sélection à l'aide du langage C++ et fournit des exemples de code détaillés. Nous espérons que les lecteurs pourront maîtriser le principe de mise en œuvre de l'algorithme de tri par sélection en lisant cet article et être capables d'utiliser cet algorithme de manière flexible dans le développement réel.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn