Java之数组的简单排序(选择,冒泡,插入)

1.冒泡排序

/**
     * 冒泡排序
     * @param a 
     */
    public void sort(int a[]) {
        System.out.println("bubble_sort:");//将最大的数字冒泡到最后
        for(int i = 0;i < a.length;i++) {
            for(int j = 0;j < a.length - i -1;j++) { 
                if(a[j] > a[j + 1]) {
                    int temp = a[j];
                    a[j] = a[j + 1];
                    a[j + 1] = temp;
                }
            }
        }
        showArray(a);
    }

2.选择排序

/**
     * 选择排序
     * 先选择一个最大的放在最后,再从剩下的当中选择最大的放在倒数第二位
     * 以此类推
     * @param a 
     */
    public void sort(int a[]) {
        System.out.println("select_sort:");
        for(int i = 1;i < a.length;i++) {
            int max = 0;//初始max设置为0
            for(int j = 1;j <= a.length - i;j++) {
                if(a[j] > a[max])//刷新最大值
                    max = j;
            }
            //System.out.println("max = " + a[max]);
            int temp = a[max];//此时max保存的就是最大值
            a[max] = a[a.length - i];
            a[a.length - i] = temp;
        }
        showArray(a);
    }

3.插入排序

/**
     * 插入排序
     * @param a 
     */
    public void sort(int a[]) {
        System.out.println("Insert_Sort:");
        for(int i = 0;i < a.length;i++) {
            for(int j = i;j > 0;j--) {
                if(a[j] < a[j-1]) {
                    int temp = a[j];
                    a[j] = a[j-1];
                    a[j-1] = temp;
                }
            }
        }
        showArray(a);
    }

 

posted @ 2021-03-28 17:37  Dre_am_tale  阅读(93)  评论(0编辑  收藏  举报