當(dāng)我們需要將一組數(shù)據(jù)按照升序或降序排列時(shí),可以使用冒泡排序算法。該算法的基本思想是從待排序數(shù)據(jù)的左端開始,將相鄰兩個(gè)數(shù)據(jù)進(jìn)行比較,若左邊的數(shù)據(jù)大于右邊的數(shù)據(jù),則將兩者交換位置,一直重復(fù)此操作,直至數(shù)據(jù)排序完成。
下面是一個(gè)使用 Python 語(yǔ)言實(shí)現(xiàn)的冒泡排序的例子:
```python
def bubble_sort(arr):
n = len(arr)
for i in range(n - 1):
for j in range(n - i - 1):
if arr[j] > arr[j + 1]:
# 交換兩個(gè)數(shù)據(jù)的位置
arr[j], arr[j + 1] = arr[j + 1], arr[j]
arr = [64, 34, 25, 12, 22, 11, 90]
bubble_sort(arr)
print("排序后的數(shù)組:")
for i in range(len(arr)):
print("%d" % arr[i])
```
在這個(gè)例子中,我們先定義了一個(gè)名為 `bubble_sort` 的函數(shù),其參數(shù)為待排序的數(shù)組 `arr`。該函數(shù)采用了雙層循環(huán)來(lái)對(duì)數(shù)組進(jìn)行排序,其中外層循環(huán) `for i in range(n - 1)` 用來(lái)控制排序的趟數(shù),內(nèi)層循環(huán) `for j in range(n - i - 1)` 用來(lái)比較相鄰兩個(gè)數(shù)據(jù)并交換它們的位置,如果左邊的數(shù)據(jù) `arr[j]` 大于右邊的數(shù)據(jù) `arr[j + 1]`,則將兩者互換位置。最終,我們調(diào)用 `bubble_sort` 函數(shù)對(duì)給定的數(shù)組 `arr` 進(jìn)行排序,并輸出排序后的結(jié)果。
聯(lián)系客服