private void Sort(cVertexList a, int lo0, int hi0){
		if (lo0 >= hi0) {
	return;
      }
      cVertex mid = new cVertex();
      mid = a.GetElement(hi0);
      int lo = lo0;
      int hi = hi0-1;
      while (lo <= hi) 
	{
	  while (lo<=hi && (Compare(a.GetElement(lo), mid)==1)) {
	    lo++;
	  }
	  
	  while (lo<=hi && (Compare(a.GetElement(hi), mid)==-1)) {
	    hi--;
	  }
	  
	  if (lo < hi)
	    {
	      Swap(a.GetElement(lo),a.GetElement(hi));
	    }
	  
	}
      Swap(a.GetElement(lo),a.GetElement(hi0));
      Sort(a, lo0, lo-1);
      Sort(a, lo+1, hi0);
	}