python排序算法实现(python 排序算法)

冒泡排序

冒泡排序是一种简单的排序算法。它通过相邻元素的比较和交换来进行排序。算法的核心思想是将最大或最小的元素逐渐“冒泡”到数组的一端。下面是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

(0)
上一篇 2023年8月5日 下午4:30
下一篇 2023年8月5日 下午4:30

相关推荐