算法入门-从冒泡排序开始
这个算法的名字由来,是因为越小的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排列),就如同碳酸饮料中二氧化碳的气泡最终会上浮到顶端一样,故名“冒泡排序”。
基本原理
从左往右是从小到大
的顺序。在给出的N个数的数列中,需要遍历
N-1
趟,每i趟需要遍历
N-i
(1≤i≤n-1)次。
public static void main(String[] args) {//测试int[] arr = new int[]{2, 4, 3, 9, 5, 7, 6};int[] sortedArr = bubblingSort(arr);for (int i = 0; i < sortedArr.length; i++) {System.out.print(sortedArr[i]+",");//2,3,4,5,6,7,9,}}/*** 冒泡排序* @param arr* @return 排序后的数组*/public static int[] bubblingSort(int[] arr) {//检查边界条件if (arr == null || arr.length < 2) {return null;}int temp;//关键算法for (int i = 0; i < arr.length - 1; i++) {//趟数for (int j = 0; j < arr.length - i - 1; j++) {//次数,每一趟减少一次if (arr[j] > arr[j+1]) {//交换两个数temp = arr[j];arr[j] = arr[j+1];arr[j+1] = temp;}}}return arr;}
时间复杂度
写在最后
