插入法排序 python

实现插入排序算法。介绍如下:

插入排序的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从前向后扫描,找到相应位置并插入。

本次挑战中,你需要在 insertion_sort.py 文件中补充类 InsertionSort 的空缺部分。

InsertionSort 中的 sort 方法用于进行插入排序(从小到大)。

sort 函数的参数 data 用于指定需要排序的数据,其中数据为数组格式。

sort 函数需要返回排序后的数据。

如果传入的 data 为 None,需要使用 raise 语句显示 TypeError。

如果传入的 data 为空数组,需要返回空数组。

python 复制代码
class InsertionSort(object):

    def sort(self, data):
        ### 补充代码 ###
        if data is None:
            raise TypeError("TypeError")
        if not data or len(data) == 1:
            return data

        # 将列表分左右两边,取右边的,向左边插入
        # 左边最大下标
        for i in range(1,len(data)):
            num = data[i]
            k = i - 1
            while(k>=0 and num<data[k]): #边界 和移动条件
                data[k+1]=data[k]
                k-=1
            data[k+1]=num
        return data

        pass
相关推荐
databook2 分钟前
异常值检测与处理方法总结
python·数据挖掘·数据分析
千里码aicood4 分钟前
面向智能助理的多轮医疗对话生成系统开发
python
MC皮蛋侠客6 分钟前
OPC UA 系列(一):标准全景与 Python 最小闭环——让第一条设备数据流动起来
开发语言·python·opcua
用户3721574261358 分钟前
使用 Python 提取 Word 文档中的表格数据
python
有味道的男人11 分钟前
得物详情 API|支持实时价格、成色、鉴别服务数据
windows·python·api
wordbaby15 分钟前
混合检索:两全其美的艺术
人工智能·算法
小溪学编程15 分钟前
Java BufferedReader 详解:从基础用法到性能优化
java·python·性能优化
彧azz30 分钟前
数据结构:关于图的学习
c语言·数据结构·笔记·学习·算法
2601_9623004730 分钟前
基于Python与Tkinter的ADB Monkey自动化测试脚本开发
python·adb·tkinter·android测试·gui自动化
热心网友俣先生34 分钟前
A题-药材的烘干问题-题意逐句翻译
算法·数学建模