Vous êtes sur la page 1sur 21

Scribd Upload a Document

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

Search w ithin document...

Download this Document for Free

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

fusion( int *t, int deb1, int fin1, int fin2)

Langage C: Les Diffrents Algorithmes de Tri Download this Document for FreePrintMobileCollectionsReport Document This is a private document.

Info and Rating Follow gogolplex1

Share & Embed Related Documents PreviousNext 1.

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.

More from this user PreviousNext 1.

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

Submit Characters: 400


document_comment_errors 4gen

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:

Submit Upload a Document


algorithme de tri en c

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

Copyright 2011 Scribd Inc. Language: English

Vous aimerez peut-être aussi