排序算法

#1. 选择排序

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
public class select {
public static void main(String [] args)
{
int a[]={1,3,5,9,10,27,19,20,4,10};
for(int i=0;i<a.length;i++)
{
for(int j=i+1;j<a.length;j++)
{
if(a[i]>a[j]){
int temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
}
for(int i=0;i<a.length;i++){
System.out.println(a[i]);
}
}
}

#2. 快速排序
`
public class Quick {

  public static int partion(int[] a,int left,int right)
{
    int pivokey=a[left];
    int piopointer=left;
    while (left<right)
    {
        while (left<right&&a[right]>=pivokey)
            right--;
        while (left<right&&a[left]<pivokey)
            left++;
        swap(a,left,right);
    }

    swap(a,piopointer,left);
    return left;
}
public static void quickSort(int[] a, int left, int right) {
    if(left >= right)
        return ;
    int pivotPos = partion(a, left, right);
    quickSort(a, left, pivotPos-1);
    quickSort(a, pivotPos+1, right);
}

public static void sort(int[] a) {
    if(a == null || a.length == 0)
        return ;
    quickSort(a, 0, a.length-1);
}

public static void swap(int[] a, int left, int right) {
    int temp = a[left];
    a[left] = a[right];
    a[right] = temp;
}


public  static void main (String[] args){


    int [] array={1,2,5,1,2,7,9,1,4,6,8,9,12,45,5,78,9,45};
    sort(array);
    for(int i=0;i<array.length;i++) {
        System.out.println(array[i]);
    }
}}`

#3.插入排序 #