Extraire tous les éléments possibles d'un ensemble
Résolu/Fermé
neocol
Messages postés
63
Date d'inscription
mardi 4 juin 2013
Statut
Membre
Dernière intervention
6 février 2016
-
Modifié par neocol le 13/03/2014 à 20:41
neocol Messages postés 63 Date d'inscription mardi 4 juin 2013 Statut Membre Dernière intervention 6 février 2016 - 15 mars 2014 à 19:46
neocol Messages postés 63 Date d'inscription mardi 4 juin 2013 Statut Membre Dernière intervention 6 février 2016 - 15 mars 2014 à 19:46
A voir également:
- Extraire tous les éléments possibles d'un ensemble
- Extraire video youtube - Guide
- Extraire son video - Guide
- Photoshop elements gratuit - Télécharger - Retouche d'image
- Extraire image pdf - Guide
- Extraire rar - Guide
5 réponses
KX
Messages postés
16733
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
31 janvier 2024
3 015
13 mars 2014 à 22:44
13 mars 2014 à 22:44
Tu peux regarder ici :
Énumérer un ensemble comme si on avait des boucles imbriquées
Énumérer un ensemble comme si on avait des boucles imbriquées
neocol
Messages postés
63
Date d'inscription
mardi 4 juin 2013
Statut
Membre
Dernière intervention
6 février 2016
1
13 mars 2014 à 23:25
13 mars 2014 à 23:25
Merci KX, je vais voir.
Cordialement,
Youness
Cordialement,
Youness
neocol
Messages postés
63
Date d'inscription
mardi 4 juin 2013
Statut
Membre
Dernière intervention
6 février 2016
1
15 mars 2014 à 01:12
15 mars 2014 à 01:12
Salut KX, j'ai vu ton code mais je ne suis pas à ce niveau pour comprendre tout çà.
J'ai besoin toujours de votre aide:
A partir d'un ensemble de N éléments, je veux récupérer toutes les combinaisons possibles de N-1 éléments mais trié,
ça veut : si {A,B,C} je dois récupérer : {{A,B},{A,C},{B,C}}, les autres éléments restants comme {C,A} j'en veux pas.
Du coup j'ai pensé à chaque itérations du vecteur {A,B,C} j'enlève un élément ,
si je fais :
Iterator<String> it = myVectorString.iterator();
for (int i = 0; i < myVectorString.size() && it.hasNext(); i++) {
it.next();
it.remove(); }
je récupére bien {B,C} pour la première fois, mais après puisque le myVectorString a changé(puisqu'on a enlevé un élément), alors là je reste coincé, je ne sais plus quoi faire.
Je ne sais pas comment faire : quand on enlève un élément, envoie les autres dans un autre vecteur.
J'ai vraiment besoin de votre aide, je suis presque dans ma dernière phase de mon projet, et çà repose sur çà.
All the best,
Youness
J'ai besoin toujours de votre aide:
A partir d'un ensemble de N éléments, je veux récupérer toutes les combinaisons possibles de N-1 éléments mais trié,
ça veut : si {A,B,C} je dois récupérer : {{A,B},{A,C},{B,C}}, les autres éléments restants comme {C,A} j'en veux pas.
Du coup j'ai pensé à chaque itérations du vecteur {A,B,C} j'enlève un élément ,
si je fais :
Iterator<String> it = myVectorString.iterator();
for (int i = 0; i < myVectorString.size() && it.hasNext(); i++) {
it.next();
it.remove(); }
je récupére bien {B,C} pour la première fois, mais après puisque le myVectorString a changé(puisqu'on a enlevé un élément), alors là je reste coincé, je ne sais plus quoi faire.
Je ne sais pas comment faire : quand on enlève un élément, envoie les autres dans un autre vecteur.
J'ai vraiment besoin de votre aide, je suis presque dans ma dernière phase de mon projet, et çà repose sur çà.
All the best,
Youness
KX
Messages postés
16733
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
31 janvier 2024
3 015
15 mars 2014 à 10:50
15 mars 2014 à 10:50
"A partir d'un ensemble de N éléments, je veux récupérer toutes les combinaisons possibles de N-1 éléments mais trié"
En fait c'est un cas particulier très simple, tu as juste à trier tes N éléments, et à les copier N fois en enlevant à chaque fois le iè élément tout en conservant l'ordre.
En fait c'est un cas particulier très simple, tu as juste à trier tes N éléments, et à les copier N fois en enlevant à chaque fois le iè élément tout en conservant l'ordre.
public class Test { public static <E> List<E> remove(List<E> list, int i) { List<E> copy = new ArrayList<E>(list); copy.remove(i); return copy; } public static <E> List<List<E>> split(List<E> list) { List<List<E>> result = new ArrayList<List<E>>(list.size()); for (int n = list.size(), i = n - 1; i >= 0; i--) result.add(remove(list, i)); return result; } public static <E> List<List<E>> test(E...tab) { List<E> list = Arrays.asList(tab); return split(list); } public static void main(String[] args) { // [[A, B, C, D], [A, B, C, E], [A, B, D, E], [A, C, D, E], [B, C, D, E]] System.out.println(test("A", "B", "C", "D", "E")); } }
neocol
Messages postés
63
Date d'inscription
mardi 4 juin 2013
Statut
Membre
Dernière intervention
6 février 2016
1
15 mars 2014 à 14:05
15 mars 2014 à 14:05
Merci bien KX, c'est très utile et çà répond à ce que je veux.
Je vous remercie infiniment.
All the best,
Youness
Je vous remercie infiniment.
All the best,
Youness
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
neocol
Messages postés
63
Date d'inscription
mardi 4 juin 2013
Statut
Membre
Dernière intervention
6 février 2016
1
15 mars 2014 à 19:46
15 mars 2014 à 19:46
Bonjour KX, j'ai reformulé votre programme à mes besoins et du coup je coup je stocke les éléments que je génére dans une ArrayList<String>,
Je trouve des éléments :
Array_L1: [1, 3]
Array_L1: [1, 4]
Array_L1: [3, 4]
S'il vous plaît j'ai deux petites questions, si çà ne vous dérange pas,
Je veux regrouper les éléments générer de cette manière :
Les stocker dans un vector de cette façon
Vector : [1 3], [1 4], [3 4]
pour pouvoir les stocker dans un vector et ensuite faire comparaison avec un autre Vector que j'ai comme résultat.
int w=0;
do{
str3 = array_L1.get(w);
MyVectorString.add(str3);
w++;
}while(w<array_L1.size());
je récupère un vector : [ [1,3], [1,4], [3,4] ]
Je veux avoir à la fin vector : [ 1 3, 1 4, 3 4 ]
Merci infiniment,
Youness
Je trouve des éléments :
Array_L1: [1, 3]
Array_L1: [1, 4]
Array_L1: [3, 4]
S'il vous plaît j'ai deux petites questions, si çà ne vous dérange pas,
Je veux regrouper les éléments générer de cette manière :
Les stocker dans un vector de cette façon
Vector : [1 3], [1 4], [3 4]
pour pouvoir les stocker dans un vector et ensuite faire comparaison avec un autre Vector que j'ai comme résultat.
int w=0;
do{
str3 = array_L1.get(w);
MyVectorString.add(str3);
w++;
}while(w<array_L1.size());
je récupère un vector : [ [1,3], [1,4], [3,4] ]
Je veux avoir à la fin vector : [ 1 3, 1 4, 3 4 ]
Merci infiniment,
Youness