/*** * PArte un vector en dos trozos según el valor pasado a partition * Find().addItem(int)*.partition(int) * Nos sobran los mutatnes que no afecten a esas 3 operaciones de arriba */ package paper; import java.util.Vector; public class Find { int[] A; int nElems; int mF; public Find(int size) { A=new int[size]; nElems=0; } public void addItem(int v) { A[nElems++]=v; } public void partition(int f) { mF=f; int numPosicionesMayores=0, numPosicionesMenores=0; for (int i=0; iA[f]) numPosicionesMayores++; } int[] posicionesMenores=new int[numPosicionesMenores]; int[] posicionesMayores=new int[numPosicionesMayores]; int[] posicionesIguales=new int[A.length-numPosicionesMenores-numPosicionesMayores]; int contPosMenores=0, contPosMayores=0, contPosIguales=0; for (int i=0; iA[f]) posicionesMayores[contPosMayores++]=i; else posicionesIguales[contPosIguales++]=i; } int[] aux=new int[A.length]; int cont=0; for (int i=0; imidValue) return false; for (int i=mF+1; i