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