Python教程

使用python 实现排序算法

本文主要是介绍使用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)

结果如图
在这里插入图片描述
二、插入排序

#插入排序
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)

结果如图所示
在这里插入图片描述
三、希尔排序

#希尔排序
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 实现排序算法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!