Java泛型使用冒泡排序与快速排序算法
2016-10-31 17:13
459 查看
/* * @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); } }
相关文章推荐
- 使用PHP描述冒泡排序和快速排序算法
- C语言的冒泡排序和快速排序算法使用实例
- JAVA泛型类型的使用举例3
- Java泛型的使用以及注入DAO --由SpringSide想到的
- java泛型——几种使用方式
- java泛型(三)、通配符的使用
- 使用Java泛型和反射机制编写Excel文件生成和解析的通用工具类
- java泛型的使用实例
- JAVA泛型类型的使用举例
- java泛型的使用
- java泛型(一)、泛型的基本介绍和使用
- 一个简单的冒泡排序和快速排序算法java实现
- 使用函数指针的多功能冒泡排序
- 委托让冒泡排序的扩展更加优雅--开闭原则的使用
- 选择排序,冒泡排序和插入排序使用时间的对比
- 使用链表的方法进行冒泡排序
- 冒泡排序、选择排序、插入排序、快速排序算法的时间性能分析(java实现)
- 使用引用调用的冒泡排序
- JAVA泛型类型的使用举例2
- java泛型的使用