Probleme de tri avec tableau multidimensionel

cs_phloam Messages postés 8 Date d'inscription mercredi 16 mars 2005 Statut Membre Dernière intervention 20 décembre 2005 - 16 mars 2005 à 19:45
wildcat31 Messages postés 46 Date d'inscription jeudi 16 décembre 2004 Statut Membre Dernière intervention 28 août 2005 - 18 mars 2005 à 08:54
Bonjour j\'ai un petit probleme et ca fait des heures que je me casse la tete dessus. Au secours aidez moi!
alors en fait j\'ai un tableau disons int[][] colok ={ {0, 3, 7, 9},
{0, 5, 8, 10}, {1, 2, 3, 5},{1,4} {0, 2, 4, 6}, {1, 4, 12, 8}, {2, 6, 9, 10}};

et je souhaite le trier pour sortir ca
{ {0, 3, 7, 9},
{0, 2, 4, 6}, {0, 5, 8, 10}, {1, 2, 3,5},{1,4},{1, 4, 12, 8}, {2, 6, 9, 10}};

donc en fait il s\'agit simplement d\'echanger des lignes.pour l\'instant j\'ai ecrit ca:

public int[][] changeOrder(int[][] colok){
for(int i=0;i<colok.length;i++){
for(int j=colok.length-1;j>i;j--) {
if(colok[j][0]<colok[i][0]){
int[] temp = colok[j] ;
colok[j]=colok[i];
colok[i]=temp;
}
}
}
return colok;
}

voila et ca marche tres bien mais ca ne verifie que le premier element de chaque tableau.(il faut surement ajouter une boucle quelque part mais je suis debutant et je n'y arrive vraiment pas,j'ai tout essayé)help me..
http://membres.lycos.fr/vinsou81

1 réponse

wildcat31 Messages postés 46 Date d'inscription jeudi 16 décembre 2004 Statut Membre Dernière intervention 28 août 2005 3
18 mars 2005 à 08:54
Bonjour,
voici ce que j'ai fait, apparemment ça marche :
public static void changeOrder(int[][] colok)
{
for(int i1=0;i1<colok.length;i1++)
{
for(int i2=colok.length-1;i2>i1;i2--)
{
int indiceMin = Math.min(colok[i1].length, colok[i2].length);
for(int j=0; jcolok[i1][j])
{
break;
}
// egal -> j++
}
}
}
}

j'ai mis la fonction void, parce qu'en fait tu modifies directement le tableau. Si tu veux vraiment en fabriquer un autre, il faut d'abord que tu en fasses un copie.
Bon courage !
0
Rejoignez-nous