Maison > Article > développement back-end > Expliquer le processus de tri de sélection en langage C
Le tri par sélection est un algorithme agressif utilisé pour trouver le plus petit nombre d'un tableau et le placer en première position. Le prochain tableau à parcourir commencera à l'index, près de l'endroit où est placé le plus petit nombre.
sélectionne le premier plus petit élément de la liste des éléments et le place en première position.
Répétez la même opération pour les éléments restants de la liste jusqu'à ce que tous les éléments soient triés.
Considérez la liste suivante-
Sm = a[0] = 30 Sm
a[1]
a[2 ]
a[3]
a[4]
10 50 40 30 20
Sm = a[1] = 50 sm
a[2]
a[3]
a[4]
10 20 40 30 50
Sm = a[2] = 40 Sm
a[3]
a[4] est :
a[3]
a[4]
10 20 30 40 50
Sm = a[3] = 40 Sm
a[4]
Veuillez vous référer aux étapes ci-dessous pour sélectionner et trier.
for (i=0; i<n-1; i++){ sm=i; for (j=i+1; j<n; j++){ if (a[j] < a[sm]) sm=j; } t=a[i]; a[i] = a[sm]; a[sm] = t; } }
Ce qui suit est un programme C pour la technique de tri par sélection −
#include<stdio.h> int main(){ int a[50], i,j,n,t,sm; printf("enter the No: of elements in the list:</p><p>"); scanf("%d", &n); printf("enter the elements:</p><p>"); for(i=0; i<n; i++){ scanf ("%d", &a[i]); } for (i=0; i<n-1; i++){ sm=i; for (j=i+1; j<n; j++){ if (a[j] < a[sm]){ sm=j; } } t=a[i]; a[i]=a[sm]; a[sm]=t; } printf ("after selection sorting the elements are:</p><p>"); for (i=0; i<n; i++) printf("%d\t", a[i]); return 0; }
Lorsque le programme ci-dessus est exécuté, les résultats suivants sont produits -
enter the No: of elements in the list: 4 enter the elements: 45 12 37 68 after selection sorting the elements are: 12 37 45 68
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!