冒泡排序

将相邻的两个元素逐一进行比较,将大的一个元素后移,每比较完一次都会将最大的一个元素移动到最后,然后再用相同的方法依次比较剩余的元素。

package blog.csdn.net.zhaikun.arithmeticdemo;

import java.util.Arrays;

/**
* Created by zhaikun68 on 2018/2/22.
* <p>
* 冒泡排序Demo
*/
public class BubbleSortDemo {

private static final String TAG = "BubbleSortDemo";//日志打印标记

public static void main(String[] args) {
int[] initArray = {9, 10, 1, 2, 0, 8, 0, 5, 8, 3};
int[] sortAfterArray = bubbleSort(initArray);
System.out.print("排序后的数组 = " + Arrays.toString(sortAfterArray));
}

/**
* 冒泡排序算法实现,以简单数组为例
*
* @param sortArray 待排序的数组
* @return 排序后的数组
*/
private static int[] bubbleSort(int[] sortArray) {
if (sortArray == null || sortArray.length == 0) {
System.out.print("待排序数组为空,不进行排序");
return null;
}
for (int outIndex = sortArray.length - 1; outIndex > 1; outIndex--) {
for (int inIndex = 0; inIndex < outIndex; inIndex++) {
if (sortArray[inIndex] > sortArray[inIndex + 1]) {
int temp = sortArray[inIndex];
sortArray[inIndex] = sortArray[inIndex + 1];
sortArray[inIndex + 1] = temp;
}
}
}
return sortArray;
}
}