Algorithme de tri en langage C
Fermé
mickaeli89
Messages postés
1
Date d'inscription
jeudi 9 décembre 2010
Statut
Membre
Dernière intervention
7 février 2011
-
Modifié par mickaeli89 le 7/02/2011 à 15:32
bokhabrine Messages postés 26 Date d'inscription samedi 20 mars 2010 Statut Membre Dernière intervention 10 juin 2011 - 7 févr. 2011 à 17:10
bokhabrine Messages postés 26 Date d'inscription samedi 20 mars 2010 Statut Membre Dernière intervention 10 juin 2011 - 7 févr. 2011 à 17:10
Bonjour,
Je fais de la programmation en Visual Basic maintenant je veux me formé en langage C. Je suis actuellement confronté à un problème. Je cherche un algorithme de tri rapide pour un tableau contenant n éléments de type entier en langage C bien sûr.
Merci pour votre aide
Je fais de la programmation en Visual Basic maintenant je veux me formé en langage C. Je suis actuellement confronté à un problème. Je cherche un algorithme de tri rapide pour un tableau contenant n éléments de type entier en langage C bien sûr.
Merci pour votre aide
A voir également:
- Algorithme de tri en langage C
- Langage ascii - Guide
- Logiciel tri photo - Guide
- Tri sur excel - Guide
- Langage binaire - Guide
- Pascal langage - Télécharger - Édition & Programmation
3 réponses
bokhabrine
Messages postés
26
Date d'inscription
samedi 20 mars 2010
Statut
Membre
Dernière intervention
10 juin 2011
4
7 févr. 2011 à 17:06
7 févr. 2011 à 17:06
pour votre question il exist 4 Méthode de trie :
la premier c"est le trie par Bulle:(Copier ce code)
#include <stdio.h>
void main()
{
printf("_______________________________________________________________________________\n\n");
printf("=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=\n");
printf(" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n");
printf(" |~~~~~~~~~ ~~~ ~~~ ~~~ ~~~ ~ ~~~~ ~ ~~~~~~~~~~|\n");
printf(" |~~~~~~~~~~~ ~~~~~ ~~~~~~~ ~~~~~~~ ~~~ ~~~ ~~ ~~ ~~ ~~~~~~~~~~|\n");
printf(" |~~~~~~~~~~~ ~~~~~ ~~~ ~~~ ~~~ ~~~~ ~~~ ~~~~~~~~~~|\n");
printf(" |~~~~~~~~~~~ ~~~~~~~~~ ~~~~~~~ ~~~ ~~~ ~~~ ~~~~~~~~ ~~~~~~~~~~|\n");
printf(" |~~~~~~~~~ ~~~ ~~~ ~~~ ~~~ ~~~ ~~~~~~~~ ~~~~~~~~~~|\n");
printf(" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n");
printf("=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=\n");
printf("_______________________________________________________________________________\n");
int i,n,inter,trier; //declaration
printf("Entrer la dimension du tableau : ");
scanf("%d",&n);
int t[n];
printf("--------------------------------\n");
/*remplissage*/
for(i=1;i<=n;i++)
{
printf("Entrer l'element T[%d] : ",i);
scanf("%d",&t[i]);
}
printf("--------------------------------\n");
/*affichage*/
printf("le tableau est : \n\n");
for(i=1;i<=n;i++)
printf(" %d |",t[i]);
printf("\n");
printf("--------------------------------\n");
/*tri bulle */
do
{
trier=1;
for(i=1;i<n;i++)
{
if(t[i]>t[i+1])
{
inter=t[i];
t[i]=t[i+1];
t[i+1]=inter;
trier=0;
}
}
}
while(trier!=1);
/*afficher le tri bulle*/
printf("______________________________________________________________\n");
printf("| |\n");
printf("| ***** ***** ***** ***** * * * * ***** |\n");
printf("| * * * * * * * * * * * |\n");
printf("| * ***** * ***** * * * * ***** |\n");
printf("| * * * * * * * * * * * |\n");
printf("| * * * ***** ***** ***** ***** ***** ***** |\n");
printf("|____________________________________________________________|\n");
printf("--------------------------------\n");
printf("le tableau trie par tri bulle : \n\n");
for(i=1;i<=n;i++)
printf(" %d |",t[i]);
printf("\n");
printf("--------------------------------\n");
getch();
}
la premier c"est le trie par Bulle:(Copier ce code)
#include <stdio.h>
void main()
{
printf("_______________________________________________________________________________\n\n");
printf("=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=\n");
printf(" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n");
printf(" |~~~~~~~~~ ~~~ ~~~ ~~~ ~~~ ~ ~~~~ ~ ~~~~~~~~~~|\n");
printf(" |~~~~~~~~~~~ ~~~~~ ~~~~~~~ ~~~~~~~ ~~~ ~~~ ~~ ~~ ~~ ~~~~~~~~~~|\n");
printf(" |~~~~~~~~~~~ ~~~~~ ~~~ ~~~ ~~~ ~~~~ ~~~ ~~~~~~~~~~|\n");
printf(" |~~~~~~~~~~~ ~~~~~~~~~ ~~~~~~~ ~~~ ~~~ ~~~ ~~~~~~~~ ~~~~~~~~~~|\n");
printf(" |~~~~~~~~~ ~~~ ~~~ ~~~ ~~~ ~~~ ~~~~~~~~ ~~~~~~~~~~|\n");
printf(" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n");
printf("=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=\n");
printf("_______________________________________________________________________________\n");
int i,n,inter,trier; //declaration
printf("Entrer la dimension du tableau : ");
scanf("%d",&n);
int t[n];
printf("--------------------------------\n");
/*remplissage*/
for(i=1;i<=n;i++)
{
printf("Entrer l'element T[%d] : ",i);
scanf("%d",&t[i]);
}
printf("--------------------------------\n");
/*affichage*/
printf("le tableau est : \n\n");
for(i=1;i<=n;i++)
printf(" %d |",t[i]);
printf("\n");
printf("--------------------------------\n");
/*tri bulle */
do
{
trier=1;
for(i=1;i<n;i++)
{
if(t[i]>t[i+1])
{
inter=t[i];
t[i]=t[i+1];
t[i+1]=inter;
trier=0;
}
}
}
while(trier!=1);
/*afficher le tri bulle*/
printf("______________________________________________________________\n");
printf("| |\n");
printf("| ***** ***** ***** ***** * * * * ***** |\n");
printf("| * * * * * * * * * * * |\n");
printf("| * ***** * ***** * * * * ***** |\n");
printf("| * * * * * * * * * * * |\n");
printf("| * * * ***** ***** ***** ***** ***** ***** |\n");
printf("|____________________________________________________________|\n");
printf("--------------------------------\n");
printf("le tableau trie par tri bulle : \n\n");
for(i=1;i<=n;i++)
printf(" %d |",t[i]);
printf("\n");
printf("--------------------------------\n");
getch();
}
bokhabrine
Messages postés
26
Date d'inscription
samedi 20 mars 2010
Statut
Membre
Dernière intervention
10 juin 2011
4
7 févr. 2011 à 17:08
7 févr. 2011 à 17:08
La deuxième methode est Permutation:(copie ce code)
#include <stdio.h>
#include <conio.h>
void main()
{
printf("_______________________________________________________________________________\n");
int i,j,k,n,inter; //declaration
printf("Entrer la dimension du tableau : ");
scanf("%d",&n);
int t[n];
printf("__________________________________\n");
/*remplissage*/
for(i=1;i<=n;i++)
{
printf("Entrer l'element T[%d] : ",i);
scanf("%d",&t[i]);
printf("----------------------------------\n");
}
printf("__________________________________\n");
/*affichage*/
printf("le tableau est : \n");
printf("----------------------------------\n");
for(i=1;i<=n;i++)
{
printf(" %d |",t[i]);
}
printf("\n");
printf("----------------------------------\n");
printf("__________________________________\n");
/*tri par permutation*/
for(i=1;i<n;i++)
{
if(t[i]>t[i+1])
{
inter=t[i+1];
j=1;
while(t[j]<inter)
j++;
for(k=i;k>=j;k--)
t[k+1]=t[k];
}
t[j]=inter;
}
/*afficher tri par permutation*/
printf("--------------------------------\n");
printf("le tableau trie par permutation : \n");
printf("--------------------------------\n");
for(i=1;i<=n;i++)
printf(" %d |",t[i]);
printf("\n");
printf("--------------------------------\n");
getch();
}
#include <stdio.h>
#include <conio.h>
void main()
{
printf("_______________________________________________________________________________\n");
int i,j,k,n,inter; //declaration
printf("Entrer la dimension du tableau : ");
scanf("%d",&n);
int t[n];
printf("__________________________________\n");
/*remplissage*/
for(i=1;i<=n;i++)
{
printf("Entrer l'element T[%d] : ",i);
scanf("%d",&t[i]);
printf("----------------------------------\n");
}
printf("__________________________________\n");
/*affichage*/
printf("le tableau est : \n");
printf("----------------------------------\n");
for(i=1;i<=n;i++)
{
printf(" %d |",t[i]);
}
printf("\n");
printf("----------------------------------\n");
printf("__________________________________\n");
/*tri par permutation*/
for(i=1;i<n;i++)
{
if(t[i]>t[i+1])
{
inter=t[i+1];
j=1;
while(t[j]<inter)
j++;
for(k=i;k>=j;k--)
t[k+1]=t[k];
}
t[j]=inter;
}
/*afficher tri par permutation*/
printf("--------------------------------\n");
printf("le tableau trie par permutation : \n");
printf("--------------------------------\n");
for(i=1;i<=n;i++)
printf(" %d |",t[i]);
printf("\n");
printf("--------------------------------\n");
getch();
}
bokhabrine
Messages postés
26
Date d'inscription
samedi 20 mars 2010
Statut
Membre
Dernière intervention
10 juin 2011
4
7 févr. 2011 à 17:10
7 févr. 2011 à 17:10
Si tu veux l'autre méthode je suis à prés pour les réaliser
sakoba2010
Messages postés
157
Date d'inscription
lundi 7 février 2011
Statut
Membre
Dernière intervention
24 juillet 2013
15
7 févr. 2011 à 17:02
7 févr. 2011 à 17:02
Utilise la Methode <code>qsort</pre>
voici un example:
http://sakoba.byethost13.com/2011/02/07/c-sorting-an-array/
voici un example:
http://sakoba.byethost13.com/2011/02/07/c-sorting-an-array/