数组和排序算法

1)冒泡排序

public static int[] bubbleSort(int[]a)
    {
        int temp;
        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;
                }
                
            }
            System.out.println(Arrays.toString(a));
        }
        return a;
    }
public static int[] bubbleSort2(int[] a)
    {
        boolean bool = true;
        while(bool)
        {
            bool=false;//当下面代码没执行就说明,排序都排好了,就不用再循环了
            for(int i = 0;i<a.length-1;i++)
            {
                if(a[i]>a[i+1])
                {
                    int temp = a[i];
                    a[i] = a[i+1];
                    a[i+1]=temp;
                    bool=true;
                }
            }
            System.out.println(Arrays.toString(a));
        }
        return a;
    }

2)选择排序

public static void selectSort(int[] a)
    {
        int length = a.length;
        for(int i=0;i<length-1;i++)
        {
            int min=i;
            for(int j=i+1;j<length;j++)
            {
                if(a[min]>a[j])
                {
                    min=j;
                }
            }
            if(min!=i)
            {
                int temp = a[min];
                a[min]=a[i];
                a[i]=temp;
            }
            System.out.println(Arrays.toString(a));
        }
    }

 3)插入排序

public static int[] insertSort(int[] a )
    {
        if(a==null||a.length<2) return a;
        int length=a.length;
        for(int i=1;i<length;i++)
        {
            int temp=a[i];
            int index;
            for(int j=i;j>0;j--)
            {
                if(a[j]<a[j-1])
                {
                    a[j]=a[j-1];
                    index=j-1;
                }
                else break;
                a[index]=temp;
            }
            System.out.println(Arrays.toString(a));
        }
        return a;
    }

猜你喜欢

转载自www.cnblogs.com/lhh666/p/11579133.html
今日推荐