概念
问题描述
给定无序数组,将数组按从小到大的顺序排列。
算法思想
遍历数组,将每一个元素与其下一个元素进行比较。如果与需要排定的顺序相反,则交换两个元素,当第一次遍历完成,最后的元素会是最大的。重复进行这个走访并交换的操作,整个过程像冒泡泡一样,越小的元素会逐渐 “冒” 到顶端,而越大的元素则会逐渐 “沉” 到底,知道整个数组排序完成。
图解
代码实现
1 | /** |
特点
冒泡排序的时间复杂度与插入排序一样都是平方级别,但冒泡排序会对已经排序好的数组拙劣地运行,仍旧执行O(n^2^)次操作。