使用python 实现排序算法

目前比较火的排序算法有10多种,本次使用Python实现其中几种排序算法

题目:编写排序算法实现对arr列表中的元素进行排序

arr = [4,3,6,9,1,7,2,8]

一、冒泡排序

arr = [4,3,6,9,1,7,2,8]

n = len(arr) #求出列表arr的长度
#封装排序功能
def mysort(arr):
    for i in range( n - 1 ):
        for j in range( i+1, n ):
            if arr[i] > arr[j]:
                arr[i],arr[j] = arr[j],arr[i]
    return arr
#调用算法
mysort(arr)

结果如图
使用python 实现排序算法
二、插入排序

#插入排序
arr = [4,3,6,9,1,7,2,8]
def insert_sort(arr):
    n = len(arr)
    for i in  range(1,n):
        cur_key = arr[i]
        j = i
        while j > 0 and arr[j - 1] > cur_key:
            arr[j] = arr[j-1]
            j -= 1
        arr[j] = cur_key
    return arr
insert_sort(arr)

结果如图所示
使用python 实现排序算法
三、希尔排序

#希尔排序
arr = [4,3,6,9,1,7,2,8]
def shell_sort(arr):
    n = len(arr)
    gap =  n // 2
    while gap > 0 :
        for i in range(gap,n):
            temp = arr[i]
            j = i
            while j >= gap and arr[j - gap] > temp:
                arr[j] = arr[j - gap]
                j -= gap
            arr[j] = temp
        gap = gap // 2
    return arr

shell_sort(arr)

结果如图
使用python 实现排序算法

掌握以上三种排序代码(能实现功能即可)就够用!!!!!!

上一篇:swift检测字符串是否在数组字符串中


下一篇:python第四天作业