Groups

Fermé
beta - 14 avril 2015 à 15:03
bon soir
pouvez vous m'aider de corriger le code suivant:
public void test(double s[],int j){
	  Set<Double>set1=new HashSet<Double>();
       	Set<Double>set2=new HashSet<Double>();
      	Vector<double[]>trace=new Vector<double[]>();
     	for(int i=0;i<j;i++){
      		set2.add(s[i]);
      		if(!equal(trace,set2)){
      			trace.add(s);
      			set1=set2;
      		}      		
     	}
  		System.out.println(""+set1);
  		
      }
	private boolean equal(Vector<double[]> trace, Set<Double> set2) {
		for(int i=0;i<trace.size();i++){
			if(set2.equals(trace.indexOf(i)))
				return true;
		}
		return false;
	}

mon algorithme est comme suit:
-convertir un liste à un tableau en suite fait la permutation pour trouver n! combinaison possible.[1.2.3],[1.3.2]....etc
-la fonction test prend un permutation a la fois(un tableau exemple [1,2,3]),"j" est la taille d'un vector V1 de taille dynamique.(exemple V1={1} oubien V1={2}..ou bien V1={1,2} ou V1={1,3}...etc).
-si set2 deffirent a trace alors mise ajour set1 et ajouter set2 au trace
-sinon fait rien
PS:trace enregistre l'historique