Python语言实现八大排序算法
在编写代码时,根据具体的应用场景选择合适的算法非常重要。八大排序算法为我们提供了多种选择。
- 冒泡排序
冒泡排序的核心思想是比较相邻元素,如果第一个比第二个大,就交换它们。重复进行这个比较直到没有任何交换发生。
def bubbleSort(arr):
n = len(arr)
for i in range(n):
for j in range(0, n-i-1):
if arr[j] > arr[j+1]:
arr[j], arr[j+1] = arr[j+1], arr[j]
return arr
- 选择排序
选择排序的核心思想是找到数组中最小的元素并将其放在第一位,接着找到剩余元素中最小的元素放在第二位,以此类推。
def selectionSort(arr):
n = len(arr)
for i in range(n):
min_idx = i
for j in range(i+1, n):
if arr[min_idx] > arr[j]:
min_idx = j
arr[i], arr[min_idx] = arr[min_idx