Tri par selection: exemple avec alloc dynamique

Soyez le premier à donner votre avis sur cette source.

Snippet vu 7 039 fois - Téléchargée 27 fois

Contenu du snippet

c est un exemple de tri par la methode de tri par selection

Source / Exemple :


#include <iostream>
#include <stdlib.h>
using namespace std;

void TriSelection(long* Tab,long TailleTab)
{
 long Idebut,Ipetit,Buffer,Iparcours;
 for(Idebut=0;Idebut<TailleTab-1;Idebut++)
 {
  Ipetit=Idebut;
  for(Iparcours=Idebut+1;Iparcours<TailleTab;Iparcours++)
  {
   if(Tab[Ipetit]>Tab[Iparcours])
   {
    Ipetit=Iparcours;
   }
  }
  Buffer=Tab[Ipetit];
  Tab[Ipetit]=Tab[Idebut];
  Tab[Idebut]=Buffer;
 }
}

int main(void)
{
 long *Tab;
 long taille=10;
 cout<<"Entrez le nombre d'entiers a trier que va contenir le tableau"<<endl;
 cin>>taille;
 Tab= (long *)malloc(taille * sizeof(long));
 if(Tab==NULL)
 {
  cout<<("Echec de l'allocation memoire");
 }
 else
 {
  for(long index=0;index<taille;index++)
  {
   cout<<"Entrez l'element de la case "<<index<<" : ";
   cin>>Tab[index];
  }
  TriSelection(Tab,taille);
  cout<<"Voici le tableau trie:"<<endl;
  for(long index=0;index<taille;index++)
  {
   cout<<Tab[index]<<endl;;
  }
 }
 free(Tab);
 system("PAUSE");
 return 0;
}

A voir également

Ajouter un commentaire Commentaires
Messages postés
389
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
17 décembre 2004
1
merci, j ai mit la source à jour
Messages postés
949
Date d'inscription
mardi 2 octobre 2001
Statut
Membre
Dernière intervention
8 juillet 2006

Tu as oublié de libérer la mémoire allouée pour malloc().

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.