三种排序

//冒泡排序
 public class F {

    public static void main(String[]args) {
        int []a= {1,4,2,89,3,79,90};
        for(int i=0;i<a.length-1;i++) {
            for(int j=0;j<a.length-i-1;j++) {
                if(a[j]>a[j+1]) {
                    int t=a[j];
                    a[j]=a[j+1];
                    a[j+1]=t;
                }
            }
        }
        for(int i=0;i<a.length;i++) {
        System.out.println(a[i]+"\t");
        }
    }
}

//选择排序

public class F{
    public static void  main(String [] args) {
        int []a= {1,4,2,89,3,79,90};
        for(int i=0;i<a.length-1;i++) {
            int min=i;
            //找出了未排序的最小数的小标
            for(int j=i+1;j<a.length;j++) {
                if(a[min]>a[j]) {
                    min=j;
                    
                }    
            }
            if(i!=min) {
                int t=a[i];
                a[i]=a[min];
                a[min]=t;
            }
            
        }
        for(int i=0;i<a.length;i++) {
            System.out.println(a[i]+"\t");
            }
    }
}

//插入排序

public class F{
        public static void main(String [] args) {
            int []a= {1,4,2,89,3,79,90};
            for(int i=1;i<a.length;i++) {
                //初值
                int t=a[i];
                int num=i;
                while(num>0&&a[num-1]>t) {
                    a[num]=a[num-1];
                    num--;
                }
                a[num]=t;
            }
            for(int i=0;i<a.length;i++) {
                System.out.println(a[i]+"\t");
                }
        }
}
 

上一篇:python---实现多个有序列表的合并


下一篇:89. 格雷编码