[Partie 46 de la série de didacticiels Dart] Tri par insertion dans Dart

Ceci est [Partie 46 de la série de didacticiels Dart], si vous le trouvez utile, veuillez prêter attention à la colonne.

Si vous n'êtes pas sûr du tri par insertion, vous pouvez lire ce blog Qu'est -ce que le tri par insertion ?

Si vous ne voulez pas le voir, je dirai simplement

Le tri par insertion consiste à insérer les nombres d'un tableau non ordonné dans un tableau ordonné un par un.

Tout d'abord, l'implémentation du tri par insertion

Parlons de la façon d'implémenter l'algorithme de tri par insertion dans Dart. Remarque : dans le tableau non ordonné par défaut, l'élément avec l'indice 0 est déjà ordonné.

List<int> l = [8, 4, 2, 9, 7, 14, 0, 21, 6, 35, 1, 99];
 
void insert() {
    
    
  for (var i = 1; i < l.length; i++) {
    
    
    int insertVal = l[i];
    int insertIndex = i - 1;
    while (insertIndex >= 0 && insertVal < l[insertIndex]) {
    
    
      l[insertIndex + 1] = l[insertIndex];
      insertIndex--;
    }
    l[insertIndex + 1] = insertVal;
  }
  print("排序后的数组 l :$l");
}

La console imprime ce qui suit
insérez la description de l'image ici
2. Idées de tri

  • Étape 1 : Notez le numéro qui sera inséré insertVal.
  • Étape 2 : Notez l'indice du nombre avant le nombre à insérer insertIndex, insertValafin l[insertIndex]de comparer avec .
  • Étape 3: Lorsque insertValest inférieur à l[insertIndex](préparez-vous pour l'ordre croissant, sinon c'est l'ordre décroissant), déplacez le nombre supérieur au nombre inséré d'un bit vers l'arrière et, en même insertIndextemps, .
  • Étape 4 : Enfin, insertValattribuez à la position appropriée.

Votre problème a-t-il été résolu? Bienvenue à laisser un message dans la zone de commentaire.

Donnez une rose à quelqu'un et il y a un parfum persistant dans votre main. Si vous pensez que l'article est bon, j'espère que vous pourrez donner un lien à trois en un clic, merci.


remarques finales

La technologie s'accumule petit à petit, et Dieu ne peut pas être atteint en un jour. Rester immobile, c'est reculer, alors faites un peu de progrès chaque jour.

Enfin, une devise est attachée : "Je suis avide d'apprendre, mais humble comme un imbécile", et j'espère m'encourager mutuellement.

Je suppose que tu aimes

Origine blog.csdn.net/qq_42351033/article/details/122341407
conseillé
Classement