Digg StumbleUpon LinkedIn YouTube Flickr Facebook Twitter RSS Reset

C/C++: Exemple d’utilisation d’algorithme de ‘tri à bulles’ sur une chaîne de caractères


{filelink=13652}

 
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
/*
 
Le tri à bulles ou tri par propagation est un algorithme de tri
qui consiste à faire remonter progressivement les plus grands éléments d'un tableau,
comme les bulles d'air remontent à la surface d'un liquide
  */
//Trier une chaîne de caractère
void tri_bulle(char *element, int nombre)
{
  register int i, j;
  register char t;
 
  for(i = 1; i < nombre; ++i)
    for( j = nombre-1; j >= i; --j) {
		/* comparaisons des éléments adjacents */
      if(element[j - 1] > element[ j ]) {
        /* Echanger les éléments du tableau */
        t = element[j - 1];
        element[j - 1] = element[ j ];
        element[ j ] = t;
      }
    }
}
 
int main(void)
{
  char str[255];
 
  printf("Tapez une chaîne de caractère:");
  gets(str);
  tri_bulle(str, strlen(str));
  printf("Voici votre chaîne triée: %sn", str);
 
  return 0;
}

No comments yet.

Leave a Comment