[java]代码库
public class Sortman {
/**
* 冒泡排序
* @param Comparable数组引用
* @param start 其实位置
* @param end 终止位置
*/
public void bubbleSrot(Comparable[] a,int start,int end){
for(int i=end;i>start;i--){
for(int j=start+1;j<=i;j++){
if(a[j-1].compareTo(a[j])>0){
Comparable temp=a[j-1];
a[j-1]=a[j];
a[j]=temp;
}
}
}
}
/**
* 选择排序
* @param Comparable数组引用
* @param start 其实位置
* @param end 终止位置
*/
public void selectionSort(Comparable[] a,int start,int end){
for(int i=start;i
<end>
<=end;j++){
if(a[j].compareTo(a[p])<0)
p=j;
}
if(p!=i){
Comparable temp=a[i];
a[i]=a[p];
a[p]=temp;
}
}
}
/**
* 插入排序
* @param Comparable数组引用
* @param start 其实位置
* @param end 终止位置
*/
public void insertionSort(Comparable[] a,int start,int end){
for(int i=start+1;i<=end;i++){
Comparable val=a[i];
int j=i;
while(j>start&&val.compareTo(a[j-1])<0){
a[j]=a[j-1];
j--;
}
a[j]=val;
}
}
private int split(int low, int high,Comparable[] a)
{
Comparable t;
t=a[low];
while(low
<high>
0&&low
<high>
<0&&low
<high>
<end>
<=h1&&j<=h2) { if(a[i].compareTo(a[j])<0) { t[k++]=a[i++]; }else { t[k++]=a[j++]; } } while(i<=h1) { t[k++]=a[i++]; } while(j<=h2) t[k++]=a[j++]; for(i=l1,j=0;i<=h2;i++,j++) { a[i]=t[j]; } } /** * 归并排序 * @param Comparable数组引用 * @param start 其实位置 * @param end 终止位置 */ public void mergeSort(Comparable[] a,int low,int high) { int mid=(low+high)/2; if(low
<high></high>
</end>
</high>
</high>
</high>
</end>//源代码片段来自云代码http://yuncode.net