冒泡排序
冒泡排序是一种简单的排序算法。它通过相邻元素的比较和交换来进行排序。算法的核心思想是将最大或最小的元素逐渐“冒泡”到数组的一端。下面是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]:
arr[j], arr[j 1] = arr[j 1], arr[j]
return arr
在这个代码中,我们使用了两层循环。外层的循环控制了迭代的次数,内层的循环用于比较相邻元素的大小并进行交换。通过这样的迭代,最大的元素会逐渐“冒泡”到数组的最后位置,实现排序的目的。
选择排序
选择排序是一种简单直观的排序算法。它的基本思想是每次从未排序的部分选择最小(或最大)的元素,并将其放到已排序序列的末尾(或开头)。下面是python中选择排序的实现代码:
def selection_sort(arr):
n = len(arr)
for i in range(n-1):
min_idx = i
for j in range(i 1, n):
if arr[j] < arr[min_idx]:
min_idx = j
arr[i], arr[min_idx] = arr[min_idx], arr[i]
return arr
在选择排序的代码中,我们使用了两层循环。外层的循环控制了迭代的次数,内层的循环用于寻找未排序部分的最小元素。通过不断选择最小元素并放置到已排序序列末尾,最终完成排序。
插入排序
插入排序是一种简单直观的排序算法。它的基本思想是将一个记录插入到已经排序好的有序表中,从而得到一个新的、记录数增加了1的有序表。下面是python中插入排序的实现代码:
def insertion_sort(arr):
n = len(arr)
for i in range(1, n):
key = arr[i]
j = i - 1
while j >= 0 and arr[j] > key:
arr[j 1] = arr[j]
j -= 1
arr[j 1] = key
return arr
在插入排序的代码中,我们使用了一层循环。外层的循环控制了待插入的元素位置,内层的循环用于将待插入元素与已排序的元素进行比较和交换。通过不断将待插入元素插入到正确的位置,实现排序的目的。
原创文章,作者:admin,如若转载,请注明出处:https://www.qince.net/py/py1k-4.html