思想:通过对待排序序列从前向后(从下标较小的元素开始),依次比较相邻元素的值,若发现逆序则交换,使值较大的元素逐渐从前向后移动,就像水底浮向水面的泡泡,故称冒泡排序。
实现:
for(int i = 0; i < arr.length - 1; i++){
for(int j = 0; j < arr.length - 1 - i; j++){
if(arr[j] > arr[j+1]){
int temp;
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
分析:冒泡排序的实现利用双重for循环,时间复杂度自然是O(n*2);是属于比较慢却非常经典的排序算法。