一、交换排序

1. 冒泡排序法

public static void bubbleSort(Object a[],int n)
{
	if(n>a.length){
		System.out.printf("êènóDó£í£13ìDò£");
		System.exit(1);
	}
	for(int i=1;i=i;j--)
		{
			if(((Comparable)a[j]).compareTo(a[j-1])<0){
				Object x=a[j];
				a[j]=a[j-1];
				a[j-1]=x;
				flag=true;
			}
		}
		if(flag==false) return;
	}
}

2. 快速排序法

public static int partition(Object a[],int s,int t)
{
	int i=s,j=t;
	Object x=a[i++];
	while(i<=j){
		while(i<=j&&((Comparable)a[i]).compareTo(x)<=0) i++;
		while(i<=j&&((Comparable)a[j]).compareTo(x)>=0) j--;
		if(ia.length) {System.out.println("nμóDó£í£1DD£"); system.exit(1);}
	quickRecursion(a,0,n-1);
}

二、 插入排序法

public static void insertSort(Object[] a,int n)
{
    if(n>a.length)
    {
        System.out.println("n值有误,停止执行!");
        System.exit(1);
    }
    for(int i=1;i=0;j--)
        {
            if(((Comparable)x).compareTo(a[j])<0)
                a[j+1]=a[j];
            else break;
        }
        a[j+1]=x;
    }
}

三、选择排序

public static void selectSort(Object []a,int n)
{
    if(n>a.length)
    {
        System.out.println("n值有误,停止执行!");
        System.exit(1);
    }
    for(int i=1;i<=n-1;i++)
    {
        int k=i-1;
        for(int j=i;j<=n-1;j++)
        {
            if(((Comparable)a[j]).compareTo(a[k])<0)
                k=j;

        }
        if(k!=i-1)
        {
            Object x=a[i-1];
            a[i-1]=a[k];
            a[k]=x;
        }
    }
}

四、归并排序

public static void twoMerge(Object []a,Object []r,int s,int m,int t)
{
    int i,j,l;
    i=s;j=m+1;k=s;
    while(i