Tri itératif
Trier un tableau d'entiers :
#include <stdio.h>
#include <stdlib.h>
void tri( int t[], int n)
//un tableau et le nombre d'éléments de ce tableau
{
int temp, k1, k2;
for (k1=0;k1<n;k1++)
for (k2=0;k2<n;k2++) //nous modifierons k2=0; en K2=k1+1;
if (t[k1]<t[k2])
{
temp=t[k1];
t[k1]=t[k2];
t[k2]=temp;
}
}
Modularité
Nous pouvons découper le programme de tri en sous-fonctions:
- Comparer deux éléments.
- Permuter deux éléments.
Comparer deux entiers
int compare(int x, int y)
{ return x-y ; }
Valeurs retournées:
- <0 si x<y
- 0 si x=y
- >0 si x>y
Permuter deux entiers
Permutation par les pointeurs (langage C)
void permute(int *x, int *y)
{
int w ;
w=*x;
*x=*y;
*y=w;
}
Permutation par référence (langage C++)
void permute(int &x, int &y)
{
int w ;
w=x;
x=y;
y=w;
}
Code complet
Trier un tableau en C
void tri( int t[], int n)
{
int p, temp, k1, k2;
for (k1=0;k1<n;k1++)
{
p=k1;
for (K2=k1+1;k2<n;k2++)
if ( compare(t[k1],t[k2]) >0 ) {p=k2;}
permute(&t[k1], &t[k2]);
}
}
Trier un tableau en C++
void tri( int t[], int n)
{
int p, temp, k1, k2;
for (k1=0;k1<n;k1++)
{
p=k1;
for (K2=k1+1;k2<n;k2++)
if ( compare(t[k1],t[k2]) >0 ) {p=k2;}
permute(t[k1], t[k2]);
}
}
Réseaux sociaux
Vous pouvez modifier vos préférences dans votre profil pour ne plus afficher les interactions avec les réseaux sociaux sur ces pages.
Nuage de mots clés
10 mots clés dont 0 définis manuellement (plus d'information...).
Avertissement
Cette page ne possède pas encore de mots clés manuels, ceci est donc un exemple automatique (les niveaux de pertinence sont fictifs, mais les liens sont valables). Pour tester le nuage avec une page qui contient des mots définis manuellement, vous pouvez
cliquer ici.
Vous pouvez modifier vos préférences dans votre profil pour ne plus afficher le nuage de mots clés.