NO.34 数组高级冒泡排序代码

/*

* 冒泡排序

* 1、返回值类型,void

* 2、参数列表,int[] arr

*

*  第一次:arr[0]与arr[1],arr[1]与arr[2],arr[2]与arr[3],arr[3]与arr[4]作比较

*  第二次:arr[0]与arr[1],arr[1]与arr[2],arr[2]与arr[3]作比较

*  第三次:arr[0]与arr[1],arr[1]与arr[2]作比较

*  第四次:arr[0]与arr[1]作比较

*/

int[] arr = {12,33,20,10,55};

//bubbleSort(arr);

selectSort(arr);

print(arr);


public static void bubbleSort(int[] arr){

       for (int i = 0; i < arr.length-1; i++) {        //外循环,只需要比较arr.length-1次就可以了

       for (int j = 0; j < arr.length-1-i; j++) {  //-1为了防止索引越界,-i为了提高效率

             if(arr[j] > arr[j+1]) {

/*int team = arr[j];

arr[j] = arr[j + 1];

arr[j+1] = team;*/

            swap(arr,j,j);

}

}

}

/*

* 打印方法

* 1、返回值类型,void

* 2、参数列表,int[] arr

*/

}

public static void print(int[] arr) {

          for (int i = 0; i < arr.length; i++) {

         System.out.print(arr[i] + " ");

}

}

/*选择排序

* 返回值类型,void

* 参数列表,int[] arr

*

* 第一次:arr[0]与arr[1-4]比较,比较4次

* 第二次:arr[1]与arr[2-4]比较,比较3次

* 第三次:arr[2]与arr[3-4]比较,比较2次

* 第四次:arr[3]与arr[4]比较,比较1次

*

*/

public static void selectSort(int[] arr){

          for (int i = 0; i < arr.length-1; i++) {          //外循环,只需要比较arr.length-1次就可以了

         for (int j = i + 1; j < arr.length; j++) {

        if(arr[i] > arr[j]) {

/*int team = arr[i];

arr[i] = arr[j];

arr[j] = team;*/

       swap(arr,i,j);

}

}

}

}

/*

* 换位操作

* 返回值类型,void

* 参数列表,int[] arr ,int i ,int j

*

* 如果某个方法只针对本类使用,不想让其他类使用,那就将这个方法定为私有

*/

private static void swap(int[] arr,int i,int j) {

           int temp = arr[i];

          arr[i] = arr[j];

          arr[j] = temp;

}

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容