Académique Documents
Professionnel Documents
Culture Documents
algorithme de tri en c
Search Documents
Explore Documents
Books - Fiction Books - Non-fiction Health & Medicine Brochures/Catalogs Government Docs How-To Guides/Manuals Magazines/Newspapers Recipes/Menus School Work + all categories Featured Recent
People
Authors Students Researchers Publishers Government & Nonprofits Businesses Musicians Artists & Designers Teachers + all categories Most Followed Popular Sign Up | Log In
/ 10
MiniProjet: Algorithmes de tri page 1/10 Compte Rendu du MiniProjet Algorithmes de tri en langage C Ralis par Mohamed HOUSNI1 re GEGM I-1Encadr par Pr Mohamed BENAHMED Contenu Cachier des charges.................................................2 Prsentation des algorithmes de tri utiliss ....2 Tri bulle.......................................................2 Tri par slection...........................................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 slection3. Le tri par permutation4. Le tri par insertion5. Le tri par fusion6. Le tri rapide 3. Renvoyer le tableau dans lequel les entiers sont classs par ordre croissant. Prsentation des algorithmes de tri utiliss A l g o r i t h m e C o d e C Le tri bulle L'algorithme parcourt la liste,et compare les couplesd'lments successifs.Lorsque deux lmentssuccessifs ne sont pas dansl'ordre croissant, ils sontchangs. Aprs chaqueparcours
complet de la liste,l'algorithme recommencel'opration. Lorsqu'aucunchange n'a lieu pendant unparcours, cela signifie que laliste est trie : l'algorithmepeut s'arrter. // 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 slctionLe tri par slection (ou tri parextraction) est undesalgorithmes de triles plustriviaux. Il consiste en larecherche soit du plus grandlment (ou le plus petit) quel'on va replacer sa positionfinale c'est--dire endernire position (ou enpremire), puis on recherchele second plus grand lment // tri par slection 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 avantdernire position (ouen seconde), etc., jusqu' ceque le tableau soitentirement 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 unlment plus petit que leprcedent donc mal plac.On prend cet lment et on lerange sa place dans letableau puis on continue lalecture.On s'arrte 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 lments dans l'ordre.Ensuite, on les compare avecles lments prcdents jusqu' trouver la place del'lment qu'on considre. Ilne reste plus qu' dcaler leslments du tableau pourinsrer l'lment considr sa place dans la partie djtrie. // 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
Langage C: Les Diffrents Algorithmes de Tri Download this Document for FreePrintMobileCollectionsReport Document This is a private document.
p.
p.
p.
2.
p.
p.
p.
3.
p.
p.
p.
4.
p.
p.
p.
5.
p.
p.
p.
6.
p.
p.
p.
7.
p.
p.
p.
8.
p.
p.
p.
9.
p.
p.
p.
10.
p.
p.
p.
29 p.
10 p.
47 p.
2.
34 p.
3 p.
2 p.
3.
3 p.
4 p.
2 p.
4.
2 p.
2 p.
Recent Readcasters
Add a Comment
c31b3d000e0e0396825d452fd4ad8c61637865bd
Nassim Hmidileft a comment is reading Langage C: Les Diffrents Algorithmes de Tri. 10 / 19 / 2011 Reply gogolplex1left a comment thank you for readcasting ! 10 / 10 / 2010 Reply
Send me the Scribd Newsletter, and occasional account related communications. Discover and connect with people of similar interests. Publish your documents quickly and easily. Share your reading interests on Scribd and social sites.
Email address:
Search Documents
Follow Us! scribd.com/scribd twitter.com/scribd facebook.com/scribd About Press Blog Partners Scribd 101 Web Stuff Support FAQ Developers / API Jobs Terms Copyright Privacy