-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbulle.php
38 lines (33 loc) · 934 Bytes
/
bulle.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<?php
/*
Tri à bulle :
c'est de la comparaison élément par
élément en réduisant à chaque fois l'intervalle de tri.C'est à
dire qu'au début on parcourt tout le tableau,on déplace l'élément
le plus grand vers la droite (ou le plus petit en fonction du type de tri),
si il y a une inversion (le tableau n'est donc pas trié), sinon,
on peut s'arrêter.
*/
function tribulle($tab) {
$n = count($tab);
for($i=0;$i<$n-1;$i++) {
for($j=0;$j<$n-$i-1;$j++) {
if($tab[$j] > $tab[$j+1]) {
$temp = $tab[$j];
$tab[$j] = $tab[$j+1];
$tab[$j+1] = $temp;
}
}
}
return $tab;
}
// Exemple d'utilisation
$tab = array(14, 5, 0, 4, 102, 8, 6);
echo "Le tableau non trié est : ";
for($i=0;$i<count($tab);$i++)
echo $tab[$i] . "|";
$tab2 = tribulle($tab);
echo "<br> Le tableau trié est : ";
for($i=0;$i<count($tab);$i++)
echo $tab2[$i] . "|";
?>