public void bucketSort(double[]data, double s, double e) {
		int n=data.length;
		double gap=(e-s)/n;
		List<List<Double>>bs=new ArrayList<>();
		for(int i=0;i<n;++i) bs.add(new ArrayList<>());
		for (int i=0;i<n;++i) bs.get((int)((data[i]-s)/gap)).add(data[i]);
		for (int i=0;i<n;++i)Collections.sort(bs.get(i));
		for (int i=0,l=0;i<n;++i)
			for (int j=0;j<bs.get(i).size();++j)
				data[l++]=bs.get(i).get(j);
	}