冒泡排序
将相邻的两个元素逐一进行比较,将大的一个元素后移,每比较完一次都会将最大的一个元素移动到最后,然后再用相同的方法依次比较剩余的元素。
| 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;
 }
 }
 
 |