TRI DE 5 NOMBRES DU PLUS GRAND AU PLUS PETIT

cs_bouba Messages postés 518 Date d'inscription dimanche 2 décembre 2001 Statut Membre Dernière intervention 10 novembre 2007 - 31 janv. 2002 à 17:00
marcatop Messages postés 5 Date d'inscription vendredi 27 décembre 2002 Statut Membre Dernière intervention 17 septembre 2008 - 15 déc. 2003 à 00:23
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/9282-tri-de-5-nombres-du-plus-grand-au-plus-petit

marcatop Messages postés 5 Date d'inscription vendredi 27 décembre 2002 Statut Membre Dernière intervention 17 septembre 2008
15 déc. 2003 à 00:23
Bon, ca date un peu ce message ! Mais merci ADPro22 ;)
ADPro22 Messages postés 126 Date d'inscription mercredi 18 juillet 2001 Statut Membre Dernière intervention 27 octobre 2004
2 févr. 2002 à 15:25
Voici 3 exemples de tris différents que j'ai faits. (sous Dev C++ et VC++)
Si ça peut t'aider...


#include
using std::cout ;
using std::endl ;
#include
using std::setw ;
#include <stdlib.h>


void Affiche(int * , const int) ;
void Permutation( int * const, int * const );
void TriParSelection(int * , const int) ;
void TriParInsertion(int * , const int) ;
void TriParBulle(int * , const int) ;

void main()
{
const int Dimension = 10 ;
int I[Dimension] = {0,5,3,6,4,2,7,1,-5,-6} ;
int J[Dimension] = {0,5,3,6,4,2,7,1,-5,-6} ;
int K[Dimension] = {0,5,3,6,4,2,7,1,-5,-6} ;

int *TriSel ;
TriSel = I ;
cout << "TriSel :" << endl ;
Affiche(TriSel, Dimension) ;
TriParSelection(TriSel, Dimension) ;
Affiche(TriSel, Dimension) ;

int *TriIns ;
TriIns = J ;
cout << "TriIns :" << endl ;
Affiche(TriIns, Dimension) ;
TriParInsertion(TriIns, Dimension) ;
Affiche(TriIns, Dimension) ;

int *TriBul ;
TriBul = K ;
cout << "TriBul :" << endl ;
Affiche(TriBul, Dimension) ;
TriParBulle(TriBul, Dimension) ;
Affiche(TriBul, Dimension) ;

system("PAUSE") ;
}

void Affiche(int * Liste, const int N)
{
int i ;
for(i=0;i<N;i++)
{
cout << setw(4) << Liste[i] ;
}
cout << endl ;
}

void Permutation( int * const element1Ptr, int * const element2Ptr )
{
int buffer = *element1Ptr ;
*element1Ptr = *element2Ptr ;
*element2Ptr = buffer ;
}

void TriParSelection(int *Liste, const int N)
{
int i, j ;
for(i=0;i<N-1;i++)
{
for(j=i+1;j<N;j++)
{
if(Liste[j]<Liste[i])
{
Permutation(&Liste[i],&Liste[j]) ;
}
}
}
}

void TriParInsertion(int *Liste, const int N)
{
int i, j, buffer ;
for(i=0;i<N-1;i++)
{
buffer = Liste[i+1] ;
j = i ;
while((j>=0)&&(buffer<Liste[j]))
{
Permutation(&Liste[j],&Liste[j+1]) ;
j-- ;
}
}
}

void TriParBulle(int *Liste, const int N)
{
int i, j ;
for(i=0;i<N-1;i++)
{
for(j=0;j<N-i;j++)
{
if(Liste[j+1]<Liste[j])
{
Permutation(&Liste[j],&Liste[j+1]) ;
}
}
}
}
cs_Xpand Messages postés 7 Date d'inscription dimanche 13 janvier 2002 Statut Membre Dernière intervention 16 janvier 2002
31 janv. 2002 à 19:11
explique-moi ca...
cs_bouba Messages postés 518 Date d'inscription dimanche 2 décembre 2001 Statut Membre Dernière intervention 10 novembre 2007 3
31 janv. 2002 à 17:00
Cette méthode n'est pas génial, imaginez 100 nombres à trier, mieux vaut utiliser un algorithme de tri.
Rejoignez-nous