Il est né ?
Vous êtes ici : mk0phpgtk.xgarreau.org >> aide >> devel >> libclinux : Librairies en c sous linux
Version imprimable

Rédaction : le fichier c

Ouvrez un éditeur de texte et tapez ça dans un fichier tri_a_bulles.c :

tri_a_bulles.c
/*
 * tri_a_bulles.c
 *
 * Quelques fonctions pour opérations basiques sur un tableau de longs.
 *
 * auteur: Xavier GARREAU : xgarreau@club-internet.fr
 *
 * web : http://perso.club-internet.fr/xgarreau/
 *
 * dmodif: 13.03.2000
 *
 */
#include "tri_a_bulles.h"

void test_case_tableau ( long * addr_tableau, int taille_tableau, int case_tableau, int prem_case_tableau ) {
  if ( case_tableau > prem_case_tableau )
    if (addr_tableau[case_tableau] < addr_tableau[case_tableau-1]) {
      permut_cases ( addr_tableau, case_tableau, case_tableau-1 );
      test_case_tableau ( addr_tableau, taille_tableau, case_tableau-1, prem_case_tableau );
    }
}

void permut_cases ( long * addr_tableau, int case_1, int case_2 ) {
  long tempo;
	
  tempo = addr_tableau[case_1];
  addr_tableau[case_1] = addr_tableau[case_2];
  addr_tableau[case_2] = tempo;
}

long * test_tableau ( long * addr_tableau, int prem_case_tableau, int taille_tableau ) {
  int i;
	
  for (i=prem_case_tableau ; i<taille_tableau ; i++)
    test_case_tableau (addr_tableau, taille_tableau, i, prem_case_tableau);
 	
  return addr_tableau;
}

int nb_cases_tableau ( long * addr_tableau ) {
  int nb_cases;
	
  nb_cases=0;
  while (addr_tableau[nb_cases]) nb_cases++;
  return (nb_cases);
}

Finalement ça s'est bien passé non ? Pas si compliqué !
Bon si on veut utiliser ça il va falloir créer une application qui en a besoin ! On y va ?
Cliquez sur Suivant !


Précédent Index Suivant

a+

Auteur : Xavier GARREAU
Modifié le 22.09.2004

Rechercher :

Google
 
Web www.xgarreau.org