冒泡排序
-
时间复杂度,额外空间复杂度
-
思路:起点从第一位到最后一位,相邻两位比较,大的换到右边。 从第1位开始,到最后一位,滑窗向右两两比较,大的换到右边 从第1位开始,到倒数第二位,滑窗向右两两比较,大的换到右边 … 直到第1位结束
-
演示

-
伪代码
'''冒泡排序''' # 滑窗起点,向右走(窗口大小为2) for i in range(0,N): # 滑窗终点 for j in range(0, N-i): # 两两比较,大的换到右边 if arr[j] > arr[j+1]: swap(arr[j], arr[j+1]) -
实际代码
def bubbleSort(nums: List[int]) -> List[int]: N = len(nums) for i in range(0, N): for j in range(1,N-i): if nums[j-1] > nums[j]: temp = nums[j] nums[j]=nums[j-1] nums[j-1]=temp return nums