# https://leetcode-cn.com/submissions/detail/24074089/
class Solution(object):
def sortColors(self, nums):
# ------------------------------------------------------------------------
def bubbleSort(data):
if len(data)<=1: return data
for i in range(0, len(data)-1): # 排序趟数,len个数进行length-1趟
swapped = False
for j in range(0, len(data)-1-i): # 每趟比较的次数,第i趟比较length-i次
if nums[j]>nums[j+1]:
nums[j],nums[j+1] = nums[j+1],nums[j]
swapped =True # 进入循环,标记有交换情况
if swapped == False:
break
# ------------------------------------------------------------------------
return bubbleSort(nums)
当数据越接近正序时,冒泡排序性能越好。
排序类别 | 排序方法 | 时间复杂度 | 空间复杂度 | 稳定性 | 复杂性 | ||
平均情况 | 最坏情况 | 最好情况 | |||||
交换排序 | 冒泡排序 | O(N2) | O(N2) | O(N) | O(1) | 稳定 | 简单 |