Python 是一種非常流行的編程語言,可以使用它來排序一些數組。排序算法是計算機科學的基礎,是在日常工作中經常使用的算法之一。在這里,我們將向您介紹在 Python 中使用排序算法來處理數組的方法。
import random
# 生成隨機數組
array = [random.randint(1, 100) for _ in range(10)]
# 冒泡排序
def bubble_sort(array):
n = len(array)
for i in range(n):
for j in range(n - i - 1):
if array[j] >array[j + 1]:
array[j], array[j + 1] = array[j + 1], array[j]
return array
# 快速排序
def quick_sort(array):
if len(array)<= 1:
return array
pivot = array[len(array) // 2]
left = [x for x in array if x< pivot]
middle = [x for x in array if x == pivot]
right = [x for x in array if x >pivot]
return quick_sort(left) + middle + quick_sort(right)
# 選擇排序
def selection_sort(array):
n = len(array)
for i in range(n):
min_index = i
for j in range(i + 1, n):
if array[min_index] >array[j]:
min_index = j
array[i], array[min_index] = array[min_index], array[i]
return array
print("原始數組:", array)
print("冒泡排序結果:", bubble_sort(array))
print("快速排序結果:", quick_sort(array))
print("選擇排序結果:", selection_sort(array))
在這里,我們使用 Python 中的 `import` 語句導入了 `random` 模塊。我們可以使用 `random.randint(a, b)` 函數來生成一些隨機的整數。接下來,我們定義了三個不同的排序算法函數:
1. 冒泡排序:在數組中遍歷多遍,比較兩個相鄰元素并交換它們,直到整個數組排序。時間復雜度為 O(n2)。
2. 快速排序:選取數組中的一個元素作為基準值,將數組分成兩個子數組。對每個子數組分別遞歸調用快速排序,直到整個數組排序。時間復雜度為 O(nlogn)。
3. 選擇排序:在數組中找到最小元素,將其放置在第一位。再在剩余的部分中找到最小元素,放置在第二位,以此類推。時間復雜度為 O(n2)。
最后,我們可以使用 `print` 語句輸出原始數組和每個排序算法的結果。
下一篇html字不同顏色代碼