Pb avec remove de arrayList

Fermé
djanahana Messages postés 82 Date d'inscription mercredi 20 mai 2009 Statut Membre Dernière intervention 6 avril 2015 - 25 mai 2012 à 23:01
djanahana Messages postés 82 Date d'inscription mercredi 20 mai 2009 Statut Membre Dernière intervention 6 avril 2015 - 26 mai 2012 à 00:06
Bonjour,
merci de m'aider programmer un algorithme ,j'ai fait plusieurs tentatives mais sans effet ,vraiment je suis perdus
l'algorithme a comme entrée une liste exemple qui contient les Eléments {3,4,2,3,5,4}

et comme sortie nous donnons {1,2,3,1,4,2} cad on va classer les eme élément qui contient mais on commence avec 1 et non pas d'un autre élément et que es élément égaux prend le même indice(même numéro ) exemple:dans la liste {3,4,2,3,5,4} l.get(0) et l.get(3) dans les résultats prend le même numéro dans notre cas c'est Lresulta.get(0)=Lresulta.get(3)=1

j'ai utilise while (! l.isEmpty) et puis l.remove les element que j'ai déja compter mais j'avais une boucle infini j'ai cru que il ne fait pas le remove

is there any suggestion please ; merci bcp
A voir également:

1 réponse

djanahana Messages postés 82 Date d'inscription mercredi 20 mai 2009 Statut Membre Dernière intervention 6 avril 2015 13
Modifié par djanahana le 26/05/2012 à 00:07
le voila mon code

public static ArrayList<String> reenumerer(ArrayList solution) 
 { 
  int k=1;int min=0; 
  List<String>l3=new ArrayList(); 
  ArrayList resul=new ArrayList(); 
   
  for(int i=0;i<solution.size();i++){ 
   
   List<String>l=(List<String>) solution.get(i); 
   l3=(List<String>) solution.get(i); 
   List<String>l4=(List<String>) solution.get(i);//originale 
    
   while(!l.isEmpty()){ 
    min=Integer.parseInt(l.get(0)); 
       for(int j=i+1;j<l.size();j++){ 
         
        if(Integer.parseInt(l.get(j))<min && Integer.parseInt(l.get(j))!=0) 
         min= Integer.parseInt(l.get(j)); 
         
       }//trouver le min de chaque sous schema 
     
       List<String> l2=recherche_pos(l4,""+min+""); 
      
       for(int h=0;h<l2.size();h++){      
      
        l3.set(h, ""+k+""); 
         
        l.remove(h); 
       } 
        k++; 
       } 
      
      resul.add(l3);  
        
   } 
   return resul;    
   
 }
0