java 排序,选择排序、插入排序、冒泡排序

java语言数组排序有很多中方法,学习的时候写下的,为了再一次熟悉代码

选择排序:数组中的第一个元素和第二个以及之后的每一个元素都进行比较,较小的排在第一个,再让第二个和后面的每一个进行比较,最小的放在第二个,以此类推

public class Xuanze {
	public static void main(String[] args)
    {
        int[] a={1,4,5,1,2,9,10,2,18};
        for(int x=0;x<a.length-1;x++)
        {
            for(int i=x+1;i<a.length;i++)
            {
                if(a[x]>a[i])
                {
                    int tem;
                    tem=a[i];
                    a[i]=a[x];
                    a[x]=tem;
                }
            }
        }
         for(int x=0;x<a.length;x++)
            {
                System.out.print(a[x]+" ");
            }    
    }    

 冒泡排序

相邻的两个元素比较,较大的后移,比较完一次之后最大的元素在最后一位,第二次循环就不用再和最后一个元素比较,以此类推

class Maopao
{
       public static void main(String[] args)
        {
                int[] a={1,2,3,10,9,2,22,15,18};
                for(int i=0;i<a.length-1;i++)
                   {
                         for(int x=0;x<a.length-1-i;x++)
                        {
                            if(a[x]>a[x+1])
                            {
                                int tem;
                                tem=a[x];
                                a[x]=a[x+1];
                                a[x+1]=tem;
                            }
                         }
                    }
                    for(int x=0;x<a.length;x++)
                    {
                        System.out.print(a[x]+" ");
                    }
         }
}

插入排序:相邻的两个元素先进行比较,较小的排在第一位,第二次循环就是先让第二个和第三个进行比较,比较之后小的排在第二位,再让第二位的和第一位的比较完成第二次循环。第三次循环,比较的元素变成4个,先第三个和第四个比较,较小的排在第三位,再让第三为和第二位比较,较小的排在第二位,再让第一位和第二位比较完成第三次循环。以此类推。

class Charuu
{
       public static void main(String[] args)
        {
                int[] a={1,2,3,10,6,8,18,15};
                for(int x=0;x<a.length-1;x++)
                {
                    for(int i=x;i>=0;i--)
                    {
                            if(a[i]>a[i+1])
                            {
                                int tem;
                                tem=a[i];
                                a[i]=a[i+1];
                                a[i+1]=tem;
                            }
                    }
                }
                for(int x=0;x<a.length;x++)
                {
                    System.out.print(a[x]+" ");
                }
        }
}
原文地址:https://www.cnblogs.com/chslch/p/4855986.html