theoyu34159的程式小站

人生, 要過得比來時更美麗...

title: 氣泡排序


氣泡排序

python

概念

簡單來說就是分成好幾輪,並且每一輪都把左右相鄰的數字比大小,如果比較小就將他往前推,可是他有一個缺點,就是如果已經排序完成了,他還會繼續排,這將會占用我們更多時間。

範例

將一串亂數8, 7, 4, 5排好->7, 4, 5, 8->4, 5, 7, 8->4, 5, 7, 8: def bubble(arr): n = len(arr) for i in range(n): for j in range(n-1): if arr[j] > arr[j+1]: arr[j], arr[j+1] = arr[j+1], arr[j] return arr print(bubble([8, 7, 4, 5])) AI的改進方法

例題

題目 我們在這題用起泡排序絕對會超時,但我們可以試試看testcase: class Solution: def sortArray(self, nums: List[int]) -> List[int]: n=len(nums) for i in range(n): for j in range(n-1): if nums[j] > nums[j+1]: nums[j], nums[j+1] = nums[j+1], nums[j] return nums