数组和排序算法

Posted lhh666

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数组和排序算法相关的知识,希望对你有一定的参考价值。

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;
    }

 

以上是关于数组和排序算法的主要内容,如果未能解决你的问题,请参考以下文章

对数组中的字符串进行排序,使其稀疏

在第6731次释放指针后双重免费或损坏

C言语拔出排序算法及代码

多种排序算法的思路和简单代码的实现

排序算法原理及代码实现(c#)

Java排序算法 - 堆排序的代码