Foro de elhacker.net

Programación => Java => Mensaje iniciado por: rixi15 en 1 Noviembre 2012, 20:35 pm



Título: Dividir un Vector<objetoQueQuieras> en un array de vectores de n componentes
Publicado por: rixi15 en 1 Noviembre 2012, 20:35 pm
Código
  1.  
Hola buenas,
 a veces tenemos un Vector<E> de objetos y queremos dividirlo en partes iguales y guardar esas partes en un array. Por ejemplo si queremos procesar esos objetos
en un mismo procesador/computador no necesitamos dividir el vector que los contiene, pero si trabajamos de forma concurrente o distribuída es posible que queramos dividirlo en N partes iguales
para repartir el trabajo entre máquinas.
Este código se me ha ocurrido para hacer la división en n partes iguales (la última parte puede ser mayor que las demas si la longitud del vector/N != 0)


Código
  1. /*
  2. * Recibe un vector de Worker y lo divide en n vectores de Worker de manera
  3. * que los n-1 primeros tienen (v.size()/n) componentes y último tiene las restante componentes.
  4. */
  5. public static Vector<Integer>[] dividirVector(Vector<Integer> v, int n){
  6. Vector<Integer> enteros[] = new Vector[n];
  7. if(v.size()>=n){
  8. int longitud = v.size()/n;
  9. int restantes = v.size();
  10. for(int i = 0;i<n;i++){
  11. enteros[i] = (Vector<Integer>) new Vector<Integer>();
  12. if(i==n-1){
  13. for (int j=0;j<restantes;j++){
  14. enteros[i].add(v.get(i*longitud+j));
  15. }
  16. }
  17. else{
  18. for (int j=0;j<longitud;j++){
  19. enteros[i].add(v.get(i*longitud+j));
  20. }
  21. }
  22. restantes = restantes - longitud;
  23. }
  24.  
  25. return enteros;
  26. }
  27. else{
  28. enteros[0]=(Vector<Integer>)v;
  29. return enteros;
  30. }
  31. }

espero que pueda servir de ayuda, un saludo


Título: Re: Dividir un Vector<objetoQueQuieras> en un array de vectores de n componentes
Publicado por: sapito169 en 2 Noviembre 2012, 01:13 am
muy buen aporte felicitaciones pero te recomiendo que lo pongas en con etiquetas de codigo


Título: Re: Dividir un Vector<objetoQueQuieras> en un array de vectores de n componentes
Publicado por: rixi15 en 2 Noviembre 2012, 13:26 pm
gracias por el comentario, ya he corredigo los colores, no me habia dado cuenta gracias