Java实现基本的排序算法——冒泡排序
基本思路就是索引(0,1)比较,(1,2)比较,(2,3)比较依次进行比较,最后索引最大处的值必然为最大的值,外层循环每进行一轮比较就可以减少一次 比如第一轮是(0~n-1) 第二轮就是 (0~n-2)
时间复杂度也是bigO(n2)
public class BubbleSort { public static void bubbleSort(int[] arr) { if (arr == null || arr.length < 2) { return; } for (int e = arr.length - 1; e > 0; e--) { for (int i = 0; i < e; i++) { if (arr[i] > arr[i + 1]) { swap(arr, i, i + 1); } } } } public static void swap(int[] arr, int i, int j) { int temp = arr[i]; arr[i] = arr[j]; arr[j] = temp; } public static void printArray(int[] arr) { if (arr == null) { return; } for (int i = 0; i < arr.length; i++) { System.out.print(arr[i] + " "); } } public static void main(String[] args) { int[] arr = {6, 7, 9, 3, 1}; bubbleSort(arr); printArray(arr); } }
时间复杂度BIG(N^2)
学习的博客多用于在笔记中,防止笔记过于臃肿,所以将样例及运行结果放在博客中,后以超链接的形式记录在笔记中,所以有些博文过于单薄。如果有小伙伴遇到问题欢迎评论,看到就会回复,学渣一枚,加油努力。