• Aucun résultat trouvé

Travaux Dirigés Le tri à bulles

N/A
N/A
Protected

Academic year: 2022

Partager "Travaux Dirigés Le tri à bulles"

Copied!
3
0
0

Texte intégral

(1)

Travaux Dirigés

Le tri à bulles

TD sur le tri à bulle.doc

1ère année Page:1/3

Extrait du référentiel : BTS Systèmes Numériques option A (Informatique et Réseaux) Niveau(x) S4. Développement logiciel

S4.4. Programmation procédurale

S4.7. Langages de programmation

Manipulations de données (« quoi ») en pseudo-langage et/ou en langage C

Transcription d’algorithmes (« comment ») en pseudo-langage et/ou en langage C Développement de programmes « console » avec gestion des arguments de la ligne de commande

C++

4 4

3 3

Objectifs du TD :

- Principe du tri à bulles - Algorithme d’un tri à bulles

- Implémentation en langage C d’un tri à bulles

- Compléments (variantes du tri à bulles : tri-cocktail, tri jump-down et tri combsort) Pré-requis : Les bases de la programmation en langage C/C++

PRINCIPE DU TRI À BULLES

Le principe du tri à bulles est de comparer deux à deux les éléments e1 et e2 consécutifs d'un tableau et d'effecteur une permutation si e1 > e2. On continue de trier jusqu'à ce qu'il n'y ait plus de permutation possible.

Autrement dit, le principe du tri à bulles est de comparer deux valeurs adjacentes et d'inverser leur position si elles sont mal placées. Alors, qu'entend-t-on par "mal placé" ? C'est très simple et surtout, c'est logique : si un premier nombre x est plus grand qu'un deuxième nombre y et que l'on souhaite trier l'ensemble par ordre croissant, alors x et y sont mal placés et il faut les inverser. Si, au contraire, x est plus petit que y, alors on ne fait rien et l'on compare y à z, l'élément suivant.

C'est donc itératif. Et on parcourt ainsi la liste jusqu'à ce qu'on ait réalisé n-1 passages (n

(2)

Travaux Dirigés

Le tri à bulles

TD sur le tri à bulle.doc

1ère année Page:2/3

représentant le nombre de valeurs à trier) ou jusqu'à ce qu'il n'y ait plus rien à inverser lors du dernier passage.

Exemple en « images » d’un tri à bulles

ALGORITHME D’UN TRI À BULLES

Algorithme d’un tri à bulle

(3)

Travaux Dirigés

Le tri à bulles

TD sur le tri à bulle.doc

1ère année Page:3/3

Question 1

Testez l’algorithme ci-dessus à l’aide du logiciel « AlgoBox » disponible en version portable dans le dossier « support » de l’activité.

Attention à la syntaxe liée au logiciel AlgoBox (voir onglet « Aide »).

Expliquez le fonctionnement de l’algorithme.

Question 2

Modifiez l’algorithme précédent de manière à ce que le nombre d’éléments de la liste aléatoire devienne « flexible » (via une entrée utilisateur ci-dessous repérée N).

Exemple de résultat attendu

IMPLÉMENTATION EN « C » D’UN TRI À BULLES

Question 3

Réalisez le programme en langage C correspondant à l’algorithme de la question 2.

COMPLÉMENTS SUR LE TRI À BULLES (VARIANTES)

https://fr.wikipedia.org/wiki/Tri_%C3%A0_bulles http://lwh.free.fr/pages/algo/tri/tri.htm

Références

Documents relatifs

Soit x un nombre réel.. Je prends son carré

L'aire de la croix est égale à l'aire totale du carré privé de 4 fois l'aire du carré de côté x.. Donc l'aire de la croix vaut 4² −

→ En 1949, Erdös montra le joli résultat suivant : pour tout entier k >1 donné, il existe une infinité de nombres 2-pseudo-premiers qui sont chacun produit de k facteurs

Mill partage avec les utilitaristes le même refus de penser l’être humain à partir d’une morale transcendante ou a priori (intuitionniste). Il n’y a pas de phénomènes moraux en

Il semble donc qu’il y ait augmentation stricte soit lors de l’ajout d’un facteur 4k + 3, soit lors de la transformation d’un facteur 4k + 3 en un facteur 4k + 1.. Pourquoi

[r]

Soient les trois boucles suivantes décrites en langage C.. Ainsi pour trier une liste dans l’ordre croissant, si un premier nombre x est plus grand qu'un deuxième nombre

On désire maintenant déterminer la plus petite valeur du nombre réel q pour laquelle la probabilité que le 6 sorte au moins 4 fois lors des 18 lancers soit supérieure ou égale à 99