/*
* @author kellygod
*
* 此泛型可以是Integer ,Double ,Float , Long
*
* eg. Sort<Double> s=new Sort<Double>();
* Double[] array={98.1,32.10,3.45,4.1,-5.3,6.4,10.0,99.265,16.0,-4.0,-10.0};
* Sort<Double> s=new Sort<Double>();
* Double[] array1=s.sentrySort(array);
* for(Double m :array1)
* System.out.print(m+" ");
*
* */
public class Sort<T extends Comparable<T>> {
private T[] marray;
public T[] getSort(){
return this.marray;
}
//冒泡排序
public T[] bubbleSort(T array[]){
this.marray=array;
for(int i=0;i<marray.length;i++)
for(int j=i+1;j<marray.length;j++)
if(marray[i].compareTo(marray[j])>0){
T tmp=marray[i];
marray[i]=marray[j];
marray[j]=tmp;
}
return this.marray;
}
//快速排序
public T[] sentrySort(T[] s){
quickSort(s,0,s.length-1);
return s;
}
private void quickSort(T[] s,int offset,int length){
if(offset>=length)
return;
T t = s[offset];
int f = offset+1;
int b=length;
T m;
while(f<=b){
while(f<=b && s[f].compareTo(t)<=0){
f++;
}
while(f<=b && s[b].compareTo(t)>=0){
b--;
}
if(f<b){
m=s[f];
s[f]=s[b];
s[b]=m;
f++;
b--;
}
}
s[offset]=s[b];
s[b]=t;
quickSort(s,offset,b-1);
quickSort(s,b+1,length);
}
}
Java泛型使用冒泡排序与快速排序算法
最新推荐文章于 2022-08-16 21:53:20 发布