几种排序算法java实现

2021-03-01 07:28

阅读:753

标签:length   oid   排序算法   实现   归并   r++   java实现   for   ==   

1.选择排序

  public void selectSort(int a[]){
          for(int i=0;i

2.插入排序

 public void insertSort(int[] a){
        for(int i=1;i0&&cur

3.归并排序

public int[] mergeSort(int a[]){
        int l=0,r=a.length-1,m=(l+r)/2;
        if(l==r) return a;
        int[] sub1=Arrays.copyOfRange(a,l,m+1);
        int[] sub2=Arrays.copyOfRange(a,m+1,r+1);
        sub1=mergeSort(sub1);
        sub2=mergeSort(sub2);
        a=merge(sub1,sub2);
        return a;
    }
 public int[] merge(int[] a,int[] b){
        int[] res=new int[a.length+b.length];
        int i=0,j=0,r=0;
        while(i

4.快排

 public void quickSort(int[] a,int l,int r){
        if(l>=r) return;
        int mid=move(a,l,r);
        quickSort(a,l,mid-1);
        quickSort(a,mid+1,r);
    }
    public int move(int[] a,int l,int r){
        int base=a[l],left=l;
        while(l!=r){
            while(l=a[l]) l++;
            if(l

几种排序算法java实现

标签:length   oid   排序算法   实现   归并   r++   java实现   for   ==   

原文地址:https://www.cnblogs.com/MuiseSim/p/14448812.html


评论


亲,登录后才可以留言!