java四种数组排序

数组的四种排序

1.快速排序法Arrays.sort();

用法1.sort(byte[] a)

     对指定的 byte 型数组按数字升序进行排序。
  sort(byte[] a, int fromIndex, int toIndex)
  对指定 byte 型数组的指定范围按数字升序进行排序。
  sort(char[] a)
  对指定的 char 型数组按数字升序进行排序。
  sort(char[] a, int fromIndex, int toIndex)
  对指定 char 型数组的指定范围按数字升序进行排序。
  sort(double[] a)
  对指定的 double 型数组按数字升序进行排序。
  sort(double[] a, int fromIndex, int toIndex)
  对指定 double 型数组的指定范围按数字升序进行排序。
  sort(float[] a)
  对指定的 float 型数组按数字升序进行排序。
  sort(float[] a, int fromIndex, int toIndex)
  对指定 float 型数组的指定范围按数字升序进行排序。
  sort(int[] a)
  对指定的 int 型数组按数字升序进行排序。
  sort(int[] a, int fromIndex, int toIndex)
  2.sort(long[] a)

  对指定的 long 型数组按数字升序进行排序。
  sort(long[] a, int fromIndex, int toIndex)
  对指定 long 型数组的指定范围按数字升序进行排序。
  sort(Object[] a)
  根据元素的自然顺序,对指定对象数组按升序进行排序。
  sort(Object[] a, int fromIndex, int toIndex)
  根据元素的自然顺序,对指定对象数组的指定范围按升序进行排序。
  sort(short[] a)
  对指定的 short 型数组按数字升序进行排序。
  sort(short[] a, int fromIndex, int toIndex)
  对指定 short 型数组的指定范围按数字升序进行排序。
  sort(T[] a, Comparator<? super T> c)
  根据指定比较器产生的顺序对指定对象数组进行排序。
  sort(T[] a, int fromIndex, int toIndex, Comparator<? super T> c)
  根据指定比较器产生的顺序对指定对象数组的指定范围进行排序。
 

2.冒泡排序法

int a[]={49,38,65,97,76,13,27,49,78,34,12,64,5,4,62,99,18,23,34,15,35,25,53,51};  
    int temp=0;  
        for (int i = 0; i < a.length - 1; i++)
        {
            for (int j = 0; j < a.length - 1 - i; j++)
            {
                if (a[j] > a[j + 1])
                {
                    temp = a[j];
                    a[j] = a[j + 1];
                    a[j + 1] = temp;
                }
            }
        }

3.选择排序

int a[]={49,38,65,97,76,13,27,49,78,34,12,64,5,4,62,99,18,23,34,15,35,25,53,51};  
   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;
           }
       }
   }

4.插入排序

int a[]={49,38,65,97,76,13,27,49,78,34,12,64,5,4,62,99,18,23,34,15,35,25,53,51};  
     for (int i = 1; i < a.length; i++)
        {
            for (int j = i; j > 0; j--)
            {
                if (a[j] < a[j - 1])
                {
                    int temp = a[j - 1];
                    a[j - 1] = a[j];
                    a[j] = temp;
                }
                else
                    break;
            }
        }
原文地址:https://www.cnblogs.com/wcyBlog/p/3926497.html