Maison > Article > développement back-end > Comment implémenter un algorithme de tri par sélection en langage C (exemple de code)
L'idée de base de l'algorithme de tri par sélection est de sélectionner le plus petit nombre du tableau et de le placer devant le tableau. En langage C, on peut utiliser deux boucles for, en commençant par le deuxième élément. du tableau et en parcourant vers l'arrière, trouvez le plus petit nombre et placez-le en première position, puis trouvez le plus petit nombre du tableau restant et placez-le en deuxième position, et ainsi de suite jusqu'à ce que le tableau soit trié.
Le principe de mise en œuvre de la méthode de tri par sélection :
Déterminez d'abord la partie inférieure de le plus petit nombre Si l'index est 0, sinon, cela signifie que le plus petit nombre n'est pas le premier élément, alors ce nombre et le premier élément sont échangés, de sorte que le plus petit nombre d'un tour soit trouvé et placé à l'extrême gauche .
[Recommandation tutoriel vidéo : Tutoriel langage C]
Exemple de code :
Utilisez la méthode de tri par sélection pour trier un ensemble de données saisies manuellement de petite à grande. Les données sont 52, 36, 2, 39, 56, 45, 78. ,92,15,52.
Code d'implémentation :
#include <stdio.h> int main() { int i,j,t,a[11]; //定义变量及数组为基本整型 printf("请输入10个数:\n"); for(i=1;i<11;i++) scanf("%d",&a[i]); //从键盘中输入要排序的10个数字 for(i=1;i<=9;i++) for (j=i+1;j<=10;j++) if(a[i]>a[j]) //如果前一个数比后一个数大,则利用中间变量t实现两值互换 { t=a[i]; a[i]=a[j]; a[j]=t; } printf("排序后的顺序是:\n"); for(i=1;i<=10;i++) printf("%5d", a[i]); //输出排序后的数组 printf("\n"); return 0; }
Sortie :
Description du code :
Deux instructions de boucle for sont utilisées dans le code. La première boucle for détermine la position, qui stocke le plus petit nombre sélectionné après chaque sélection et échange de la séquence à trier. La deuxième boucle for consiste à comparer le nombre à une certaine position avec le nombre dans l'intervalle suivant à trier.
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!