思路
- 将序列当中的左右元素,依次比较,保证右边的元素始终大于左边的元素;( 第一轮结束后,序列最后一个元素一定是当前序列的最大值;)
- 对序列当中剩下的n-1个元素再次执行步骤1。
- 对于长度为n的序列,一共需要执行n-1轮比较
时间复杂度
最佳情况:T(n) = O(n) 最差情况:T(n) = O(n2) 平均情况:T(n) = O(n2)
代码
import java.util.Arrays;/** * 冒泡排序 * @author remainsu * @version 1.0 2019-05-29 */public class BubbleSort { /** * 排序方法 * @param arr 要排序的数组 * @return toString 方便输出 */ public static String bubbleSort(int[] arr) { int tmp; //int count = 0; // 冒泡次数 for(int a=0; a