Java之冒泡排序的实现

来源:互联网 发布:手机上能开淘宝店吗 编辑:程序博客网 时间:2024/06/01 15:58

冒牌排序原理图:



原理明白了之后,代码也就随之出来了。所以理解原理很重要。

代码如下:

/** * 冒泡排序代码实现 * @author Administrator * @date 2016-3-16 */public class BubbleSort {/** * 排序核心 * @param arr 将要排序的数组 */public void sort(int[] arr){if(arr==null){return;}if(arr.length==0){return;}for (int i = 0; i < arr.length; i++) {for (int j = 0; j < arr.length-i-1; j++) {if(arr[j]>arr[j+1]){swap(j,j+1,arr);}}}}/** * 交换两个数 * @param i 第一个数 * @param j 第二个数  * @param arr 要交换的数组 */private void swap(int i, int j, int[] arr) {int temp = arr[i];arr[i] = arr[j];arr[j] = temp;}//Testpublic static void main(String[] args) {int[] arr = new int[]{2,1,5,3,3};BubbleSort bubbleSort = new BubbleSort();bubbleSort.sort(arr);//打印 for (int i = 0; i < arr.length; i++) {System.out.println(arr[i]);}}}
       在sort()方法中,首先判断传入的数组是否为空,然后判断长度是否为零,在前几行排除掉,在Java的很多源码中都很类似,个人感觉是代码编写的更加简洁优美.

0 0