1. 氣泡排序
    1. 概念
    2. 範例
    3. 例題

氣泡排序

氣泡排序

python

概念

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

範例

將一串亂數8, 7, 4, 5排好->7, 4, 5, 8->4, 5, 7, 8->4, 5, 7, 8:

1
2
3
4
5
6
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:

1
2
3
4
5
6
7
8
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