算法基础(Java)--八大排序算法
前言 为了巩固自己的算法能力,重学算法,一个一个自己写,敲。本文主要介绍Java八大排序经典算法。 1. 冒泡排序(BubbleSort) 1.1 基本思想 两个数比较大小,较大的数下沉,较小的数冒起来。 1.2 过程 1.3 算法实现 /** * @Description: 冒泡排序,优化版 平均时间复杂度:O(n^2) * @Date: 21:11 2019/8/7 * @Param: [arr] * @return: int[] */ static int [ ] BubbleSort ( int [ ] arr ) { boolean flag = false ; for ( int j = 1 ; j < arr . length ; j ++ ) { for ( int i = 0 ; i < arr . length - j ; i ++ ) { if ( arr [ i ] > arr [ i + 1 ] ) { int temp = arr [ i ] ; arr [ i ] = arr [ i + 1 ] ; arr [ i + 1 ] = temp ; flag = true ; } } if ( ! flag ) { break ; } } return arr ; } 2. 选择排序(SelctionSort) 2.1 基本思想