Comparatie intre diferite tipuri de sortari avansate. - Count Sort - implementare in J++.


Inapoi




class CountSortAlgorithm extends SortAlgorithm
{  void sort(java.util.Vector a) throws Exception
  { int i,j;
    int poz[]=new int[a.size()];
    java.util.Vector temp;
    for(i=0;i<a.size();i++)
      poz[i]=0;
    temp=new java.util.Vector();
    temp.ensureCapacity(a.size());
    for(i=0;i<a.size()-1;i++)
      for(j=i+1;j<a.size();j++)
        if(compHigher(a.elementAt(i),a.elementAt(j)))
	        poz[i]++;
        else
          poz[j]++;
    for(i=0;i<a.size();i++)
      temp.setElementAt(a.elementAt(i),poz[i]);
    for(i=0;i<a.size();i++)
    { makeidxequal(i,((Comparable)(temp.elementAt(i))).value(),poz[i]);
      a.setElementAt(temp.elementAt(i),i);
    }
  }
}