[Java] newbie - optimisation

newbie - optimisation [Java] - Java - Programmation

Marsh Posté le 01-10-2003 à 20:44:25    

Code :
  1. Vector v = new Vector();
  2. vect.add(v);
  3. System.out.println(vect);
  4. for(int y=0;y<5;y++){
  5.   int sz=vect.size();
  6.   for(int j=0;j<sz;j++){
  7.       Vector a=(Vector)vect.firstElement();
  8.       for(int i=0;i<4;i++){
  9.          Vector b=(Vector)a.clone();
  10.          b.add(i+"" );
  11.          vect.add(b);
  12.       }
  13.       vect.removeElementAt(0);
  14.   }
  15.   System.out.println(vect);
  16. }


 
voila ya pas moyen de faire plus propre ???
vect est un vecteur de vecteur
enfait on prend le premier element du vecteur vect(et on le retire), on le recopie dans une vect temporaire b on rajoute des nombre a b et on colle b à la fin de vect


Message édité par red faction le 01-10-2003 à 20:48:38
Reply

Marsh Posté le 01-10-2003 à 20:44:25   

Reply

Marsh Posté le 01-10-2003 à 20:58:48    

c surtout les cast que jaime pas
 
puis jutilise deux vect a et b peut etre ya moyen de faire sans

Reply

Marsh Posté le 02-10-2003 à 00:08:11    

elle sert à faire quoi ton horreur de code ?
 
ca pourrait être ne bonne idée d'utiliser un LikedList à la place d'un vector pour ta variable vect


Message édité par benou le 02-10-2003 à 00:15:07

---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 02-10-2003 à 00:49:09    

:c si horrible que ca  :sweat:  
 
 
sinon c pour parcourir un arbre en largeur (pour le probleme des 8 reines)

Reply

Marsh Posté le 02-10-2003 à 00:55:10    

t'as quoi dans vect à la base ?


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 02-10-2003 à 00:57:15    

benou a écrit :

t'as quoi dans vect à la base ?


 
un autre vecteur mais vide
 
qd on affiche vect ca fait ca : [[]]

Reply

Marsh Posté le 02-10-2003 à 01:09:30    

le code estr pas bcp plus beau mais certainement plus efficace :  

Code :
  1. LinkedList global = new LinkedList();
  2.  global.add(new ArrayList(0));
  3.  for (int nbInners = 1; nbInners <= 5; nbInners++) {
  4.   int sizeGlobal = global.size();
  5.   for (int foo2 = 0; foo2 < sizeGlobal; foo2++) {
  6.    ArrayList inner = (ArrayList) global.removeFirst();
  7.    for (int i = 0; i < 4; i++) {
  8.     ArrayList newInner = new ArrayList(nbInners);
  9.     newInner.addAll(inner);
  10.     newInner.add(Integer.toString(i));
  11.     global.addLast(newInner);
  12.    }
  13.   }
  14.   System.out.println(global);
  15.  }
  16. }


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 02-10-2003 à 01:27:32    

red faction a écrit :

:c si horrible que ca  :sweat:  
 
 
sinon c pour parcourir un arbre en largeur (pour le probleme des 8 reines)

Tiens, j'en ai fait un cet été, mais il était pluggable dans tous les sens et il avait un itérateur.

Reply

Marsh Posté le 02-10-2003 à 03:36:23    

c'est quoi les 8 reines?

Reply

Marsh Posté le 02-10-2003 à 04:21:08    

the real moins moins a écrit :

c'est quoi les 8 reines?

mettre 8 reines sur un échiquier de façon à ce qu'aucune ne puisse en bouffer une autre. Tapes "8 reines" ou ("N reines" ) dans google, tu verras.

Reply

Marsh Posté le 02-10-2003 à 04:21:08   

Reply

Marsh Posté le 02-10-2003 à 04:27:00    

ha ok je vois

Reply

Marsh Posté le 02-10-2003 à 09:38:58    

the real moins moins a écrit :

c'est quoi les 8 reines?


 
le genre de problème qu'on te demande d'implémenter à l'unnif dans tous les language pour voir si t'as compris. Je me souviens d'un assistant l'ayant fait à la volée en CaML et après avoir bu l'essentiel d'un bac de chimay bleue
 
bin ca a marché du premier coup, il est pas docteur en info, spécialisé en preuves formelles pour rien :D


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 02-10-2003 à 10:45:49    

sinon c quoi la diff entre arraylist et vector??? limplementation memoire ?

Reply

Marsh Posté le 02-10-2003 à 10:46:38    

vector est synchronisé, arraylist ne l'est pas


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 02-10-2003 à 11:08:50    

DarkLord a écrit :

vector est synchronisé, arraylist ne l'est pas


ok ca explique la legere perte de performance que javais avec vector :whistle:  
 
sinon les listes chainees c surtout recommande qd on fait des insertion au debut et en fin c ca ?

Reply

Marsh Posté le 02-10-2003 à 11:40:21    

Plutôt quand tu as besoin d'effectuer des insertions en temps constant.


---------------
"Colère et intolérance sont les ennemis d'une bonne compréhension." Gandhi
Reply

Marsh Posté le 02-10-2003 à 11:47:01    

Krueger a écrit :

Plutôt quand tu as besoin d'effectuer des insertions en temps constant.


les insertions sont en temps constant quand tu les fait en début et en fin [:spamafote]


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 02-10-2003 à 13:09:50    

Je voulais parler d'un point de vue performances en fait.


---------------
"Colère et intolérance sont les ennemis d'une bonne compréhension." Gandhi
Reply

Marsh Posté le 02-10-2003 à 14:49:52    

DarkLord a écrit :

il est pas docteur en info, spécialisé en preuves formelles pour rien :D

Encore un qui me nargue !

Reply

Marsh Posté le 02-10-2003 à 14:51:14    

pas du tout :o


---------------
Just because you feel good does not make you right
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed