Tri à bulles ou tri par propagation avec Unity et le C#

Le tri à bulles ou tri par propagation est un algorithme de tri. Il consiste à comparer répétitivement les éléments consécutifs d’un tableau, et à les permuter lorsqu’ils sont mal triés. Il doit son nom au fait qu’il déplace rapidement les plus grands éléments en fin de tableau, comme des bulles d’air qui remonteraient rapidement à la surface d’un liquide.

Le tri à bulles est souvent enseigné en tant qu’exemple algorithmique, car son principe est simple. Mais c’est le plus lent des algorithmes de tri communément enseignés, et il n’est donc guère utilisé en pratique.

Ci dessous le code C# du script triABulles.cs

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class triABulles : MonoBehaviour {
   
    public string[] tableau = { "zoe", "jean", "pierre", "arnaud", "paul", "jojo", "toto", "albert" };
    bool finish = false;

    void Tri(string[] tab)
    {
        while (!finish)
        {
            finish = true;
            for (int i = 0; i < tab.Length - 1; i++)
            {             

                if (tab[i].CompareTo(tab[i + 1])<0)
                {
                    finish = false;
                    string temp = tab[i + 1];
                    tab[i + 1] = tab[i];
                    tab[i] = temp;                   
                }
            }
        }       
    }  

    void Start () {
        Tri(tableau);
    }
}

 

A propos de upln 279 Articles
En informatique le problème se situe souvent entre la chaise et le clavier !

Soyez le premier à commenter

Poster un Commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.