Java—排序算法汇总

1.冒泡排序

思路 : 从第一个数值开始,从左到右依次比较相邻两个数的大小,若左边大于右边,则换位置,直到最大的数值冒到最右边。

             依次循环冒泡最大值到右边,直到排序完毕。

代码 : 

     /** 冒泡排序 */
    private static void maopaoSort(int[] array) {
        for(int i=0; i < array.length-1; i++){
            for(int j = 0; j < array.length-1-i; j++){
                if(array[j] > array[j+1]) {

                     // 交换位置
                    changeIndex(array,j,j+1);
                }
            }
        }
    }

2. 选择排序

思路 :每一趟比较出序列中的最小值,并将其放在排号序的序列之后,直到排序完毕。

代码 :

/** 选择排序 */
    private static void xuanze(int[] array) {
        for(int i = 0; i<array.length-1; i++){
            int min = array[i];
            int minIndex = i;
            
            for(int j = i+1; j<array.length; j++){
                if(min > array[j]) {
                    min = array[j];
                    minIndex = j;
                }
            }
             // 交换位置
            changeIndex(array, i, minIndex);
        }
    }

猜你喜欢

转载自blog.csdn.net/weixin_36796589/article/details/85246234