mercredi 19 avril 2017

Tri à bulles (Bubble sort)

C'est quoi, Tri à bulles?

Le tri à bulles ou tri par propagation1 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.  --- Wikipedia
Tri à bulles qui est réalisé par Java:

import java.io.*; 
import java.util.Arrays;

public class Bulles
{
  public static void main(String[] args)
  {
    int[] test = {9, 2, 1, 5, 6, 8, 3, 4, 7};
    System.out.print(Arrays.toString(triAbulles(test)));
  }
  public static int[] triAbulles(int[] a){
    for(int i = 0; i < a.length; i++){
      for(int j = a.length-2; j >= 0; j--){
        if(a[j] > a[j+1]){
           int temp = a[j+1];
           a[j+1] = a[j];
           a[j] = temp;
        }
      }
    }
    return a;
  }
}

résultat



Aucun commentaire:

Enregistrer un commentaire