Algorithme de tri
#include <stdio.h>
void echanger(int tab[], int i, int j) { int memoire; memoire=tab[i]; tab[i]=tab[j]; tab[j]=memoire; }
//fonction qui permet de tester le programme d'echange void main(void) { int i; int tableau[]={1,4,3,2,5}; printf("tableau avant premutation \n"); for(i=0;i<5;i++) { printf("%i,",tableau[i]); } echanger(tableau,1,3); printf("\n tableau apres permutation \n"); for(i=0;i<5;i++) { printf("%i,",tableau[i]); } printf("\n appuyez sur une touche pour terminer le programme"); getch(); } |
Code source du tri "bulle" | Pseudo langage | C / C++ | tri_bulle(tableau T) debut entier longueur, i booleen inversion longueur<-taille(T) faire inversion=faux pour i=0 à (longueur-1) si T(i)>T(i+1) echanger(T,i,i+1) inversion<-vrai fin si fin pour tantque inversion fintri_bulle_optimise(tableau T) debut entier longueur, i booleen inversion longueur<-taille(T) faire inversion<-faux pour i=0 à (longueur-1) si T(i)>T(i+1) echanger(T,i,i+1) inversion<-vrai fin si longueur<-longueur-1 fin pour tantque inversion fin | void tri_bulle(int tableau[],int longueur) { int i, inversion;
do { inversion=0;
for(i=0;i<longueur-1;i++) { if (tableau[i]>tableau[i+1])