if(lo < hi0) quickSort(array,index,lo,hi0);
if (lo < hi0) { quickSort(array, index, lo, hi0); }
  private static void quickSort(double [] array,int [] index,int lo0,int hi0){    int lo = lo0;    int hi = hi0;    double mid;    double midPlus;    double midMinus;    int help;        if (hi0 > lo0){            // Arbitrarily establishing partition element as the midpoint of      // the array.                  mid = array[index[(lo0+hi0)/2]];      midPlus = mid+1e-6;      midMinus = mid-1e-6;      // loop through the array until indices cross            while(lo <= hi){		// find the first element that is greater than or equal to  	// the partition element starting from the left Index.			while ((array[index[lo]] < midMinus) && (lo < hi0))	  ++lo;		// find an element that is smaller than or equal to 	// the partition element starting from the right Index.		while ((array[index[hi]] > midPlus) && (hi > lo0))	  --hi;		// if the indexes have not crossed, swap		if(lo <= hi) {	  help = index[lo];	  index[lo] = index[hi];	  index[hi] = help;	  ++lo;	  --hi;	}      }            // If the right index has not reached the left side of array      // must now sort the left partition.            if(lo0 < hi)	quickSort(array,index,lo0,hi);            // If the left index has not reached the right side of array      // must now sort the right partition.            if(lo < hi0)	quickSort(array,index,lo,hi0);    }  }