最好时间复杂度:O(n)
最坏时间复杂度:O(n²)
平均时间复杂度:O(n²)
空间复杂度:O(1)
是否为稳定排序:Yes
sort in place:Yes
python实现:
class Solution:
def bubbleSort(self, nums):
"""
:type nums: List[int]
:rtype: void
"""
if len(nums) <= 1:
return
# 标志,当某次冒泡没有交换操作时,数组已经有序,无需再进行比较和交换操作
flag = False
for i in range(0, len(nums)):
for j in range(1, len(nums)-i):
if nums[j] < nums[j-1]:
nums[j], nums[j-1] = nums[j-1], nums[j]
flag = True
if not flag:
break
return
if __name__ == "__main__":
nums = [1,3,2,4,6,8,4,5,6,7]
s = Solution()
s.bubbleSort(nums)
print(nums)
网友评论