Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more
Download
Standard view
Full view
of .
Save to My Library
Look up keyword
Like this
214Activity
0 of .
Results for:
No results containing your search query
P. 1
Langage C: Les Différents Algorithmes de Tri

Langage C: Les Différents Algorithmes de Tri

Ratings:

5.0

(1)
|Views: 57,653 |Likes:
Published by Gogol Plex

More info:

Published by: Gogol Plex on Jan 30, 2010
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

06/22/2014

pdf

text

original

 
MiniProjet: Algorithmes de tri
page 1/10
Compte Rendu du MiniProjet
Algorithmes de tri en langage C
Réalisé par
Mohamed HOUSNI1
ère
GEGM I-1Encadré par
Pr Mohamed BENAHMED 
Contenu
Cachier des charges.................................................2
Présentation des algorithmes de tri utilisés ....2
Tri à bulle.......................................................2
Tri par sélection...........................................2
Tri par permutation.....................................3
Tri par insertion...........................................3
Tri par fusion................................................3
Tri rapide.......................................................4
Code source du programme en C..........................5
Exemple d'utilisation..............................................10
Bibliographie.............................................................10
(capture d'écran)
 
MiniProjet: Algorithmes de tri
page 2/10
Cachier des charges
1.
Demander à l'utilisateur de remplir un tableau Tab avec des entiers.
2.
Proposer à l'utilisateur de choisir entre les algorithmes de tri suivant:1. Le tri à bulle2. Le tri par sélection3. Le tri par permutation4. Le tri par insertion5. Le tri par fusion6. Le tri rapide
3.
Renvoyer le tableau dans lequel les entiers sont classés par ordre croissant.
Présentation des algorithmes de tri utilisés
Algorithme Code CLe tri à bulle
L'algorithme parcourt la liste,et compare les couplesd'éléments successifs.Lorsque deux élémentssuccessifs ne sont pas dansl'ordre croissant, ils sontéchangés. Après chaqueparcours complet de la liste,l'algorithme recommencel'opération. Lorsqu'aucunéchange n'a lieu pendant unparcours, cela signifie que laliste est triée : l'algorithmepeut s'arrêter.
// tri à bulle 
#define TRUE 1#define FALSE 0
void
tri_a_bulle(
int
*t,
int
n){ 
int
j =0;
int
tmp =0;
int
en_desordre =1;
while
(en_desordre){en_desordre = FALSE; 
for
(j =0; j < n-1; j++){  
if
(t[j] > t[j+1]){tmp = t[j+1];t[j+1] = t[j];t[j] = tmp;en_desordre = TRUE;}}}}Le tri par séléctionLe tri par sélection (ou tri parextraction) est undesalgorithmes de triles plustriviaux. Il consiste en larecherche soit du plus grandélément (ou le plus petit) quel'on va replacer à sa positionfinale c'est-à-dire endernière position (ou enpremière), puis on recherchele second plus grand élément
// tri par sélection 
void
tri_selection(
int
*t,
int
n){ 
int
i, min, j , tmp; 
for
(i =0; i < n -1; i++) {min = i; 
for
(j = i+1; j < n ; j++) 
if
(t[j] < t[min])min = j; 
if
(min != i){
 
MiniProjet: Algorithmes de tri
page 3/10
(ou le second plus petit) quel'on va replacer également àsa position finale c'est-à-direen avant-dernière position (ouen seconde), etc., jusqu'à ceque le tableau soitentièrement trié.tmp = t[i];t[i] = t[min];t[min] = tmp;}}}
Le tri par permutation
Le tri par permutation est letri du jeu de cartes, ilconsiste à parcourir le tableau jusqu'à ce que l'on trouve unélément plus petit que leprécedent donc mal placé.On prend cet élément et on lerange à sa place dans letableau puis on continue lalecture.On s'arrête à la fin dutableau.
// tri par permutation 
void
tri_permutation(
int
*t,
int
n){ 
int
i,s=0,k; 
int
nb[n]; 
int
res [n]; 
for
(i=0;i<n;i++){ 
for
(k=0;k<n;k++){ 
if
(t[i]>t[k]) s++;nb[i]=s;}res[s]=t[i];s=0;}
for
( i=0;i<n;i++)t[i]=res[i];}
Tri par insertion
Le tri par insertion consiste àparcourir la liste : on prendles éléments dans l'ordre.Ensuite, on les compare avecles éléments précédents jusqu'à trouver la place del'élément qu'on considère. Ilne reste plus qu'à décaler leséléments du tableau pourinsérer l'élément considéré àsa place dans la partie déjàtriée.
// tri par insertion 
void
tri_insertion(
int
*t,
int
n){ 
int
i,p,j; 
int
x; 
for
(i =1; i < n; i++){x = t[i];p = i-1; 
while
(t[p] > x && p-- >0) {}p++;
for
(j = i-1; j >= p; j--) {t[j+1] = t[j];}t[p] = x;}}
Tri par fusion
Le tri fusion est construit
// tri par fusion 
void
fusion(
int
*t,
int
deb1,
int
fin1,
int
fin2)

Activity (214)

You've already reviewed this. Edit your review.
donhichar added this note
merci beaucoup bon travail
yassinjoe liked this
donhichar liked this
Lamia Jebri liked this
debache liked this
Ali Essafi liked this
1 thousand reads
1 hundred reads
Heitem Heitek liked this

You're Reading a Free Preview

Download
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->