Bonjour ,
comment réaliser le tri dans un tableau a 2 dimensions?
je n' ai pas tenté mais je me suis posé la question 8O
Merci
Version imprimable
Bonjour ,
comment réaliser le tri dans un tableau a 2 dimensions?
je n' ai pas tenté mais je me suis posé la question 8O
Merci
Bah c'est le moment de penser à quel algo on pourrait utiliser pour voir ce que ça donneCitation:
Envoyé par racoboss
@+
salut ,
j ai une idée , on pourrait le "transformer "en un tableau a une dimension , faire le tri et "recréer" le tableau à 2 dimensions??
Pour l ' algo sans passer par cette méthode , je suis entrain d ' essayer de le faire ,mais je ne vois vraiment pas , ca s annonce compliqué non???
je pensais a trier les lignes de la matrices , puis les colonnes .. :aie:
pourquoi me suis je posé cette question.
Juste une chose il faut commencer par savoir ce qu'on aura a trier( string ,int, ....) et quel algo de tri utiliser .....:roll:
salut ,
je voudrais trier des entiers , mais comment par exemple passer du tableau a 2 dimensions à un tableau à une dimension , j essaie de voir en positionnant une variable qui agira comme un compteur.
Jusqu' a maintenant , je n ' ai vu que le tri dans un tableau à une dimension.
merci.
Une methode peu orthodoxe serait de copier chaque ligne de la matrice (tableau a 2 dimensions ) dans une tableau temporaire comme tu le dit et ,
ensuite trier le tableau temporaire ----> trier la ligne de la matrice copiée et apres passer à une autre ligne. :lol:
salut ,
je suis entrain d essayer de repasser du tableau unidimensionnel au tableau à 2 dimensions , oui j ai assez galéré dans le sens inverse , la je vais encore plus galéré.
question 2 - comment realiser le tri a bulle dans ce tableau à 2 dimensions??
Merci
bah si on suit ce que j'avais dit le tri se passe dans le tableau a une dimension et c'est apres qu'on change dans la matrice
resalut :lol:,
est on obligé de passer par cette méthode (deja faut que j y arrive ), ne pourrais t on pas faire ce tri comme dans un tableau à une dimension??
merci
On peut tout faire.
Passer à un tableau à 1 dimension permet de se ramener à un cas connu et a priori d'avoir moins de choses à coder.
Encore faut-il savoir dans quelle direction tu veux trier ton tableau 2D (par ligne ou par colonne?).
Mettre le tableau dans une collection et utiliser un comparateur.
pour passer d'un tableau à 2 dimensions à un tableau deux dimensions, utilisez lar forumle: tab[i][j] >> tab2[i*n+j] avec n la longueur sur le premier indice (i). Mais il faut tenir compte de la sémantique du tableau pour proposer la meilleure solution, même si il semble que la meilleure sera de transformer en collection et utiliser les comparateurs.
Bonjour
Quelle est la difference entre un tableau à 2 dimensions et un tableau deux dimensionsCitation:
Envoyé par leonardoo
merci
@+
+1
explique nous d'abord comment tu veux réaliser le tri... si le but est d'avoir un tri séparé des colonnes (ou des lignes) par exemple , passé en tableau 1 dimension est totalement inutile...
je m'explique : imaginons que tu ai :
et que tu veuille :Code:
1
2
3
4
5 1 3 8 6 4 9 2 4
passé en tableau une dimension est inutile...Code:
1
2
3
4
5 1 3 2 4 4 6 8 9
Si on suppose qu'il s'agit d'un tri multicolonne, j'ai un ptit exemple à proposer, mais ça nécessite Java 5.
Ca utilise la méthode Arrays.sort(T[], Comparator<T>) qui permet de trier des tableaux quelconques, dont les tableaux de tableaux... Dans l'exemple le Comparator est à adapter au problème bien sûr.Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 Comparator<int[]> c = new Comparator<int[]>() { public int compare(int[] o1, int[] o2) { // A adapter au problème for (int i = 0; i < Math.min(o1.length, o2.length); i++) { if (o1[i] < o2[i]) { return -1; } else if (o1[i] > o2[i]) { return 1; } } return 0; } }; int[][] tableau = new int[2][5]; Arrays.sort(tableau, c);