插入法排序 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
相关推荐
曲幽13 分钟前
FastAPI分布式系统实战:拆解分布式系统中常见问题及解决方案
redis·python·fastapi·web·httpx·lock·asyncio
地平线开发者12 小时前
SparseDrive 模型导出与性能优化实战
算法·自动驾驶
董董灿是个攻城狮13 小时前
大模型连载2:初步认识 tokenizer 的过程
算法
地平线开发者13 小时前
地平线 VP 接口工程实践(一):hbVPRoiResize 接口功能、使用约束与典型问题总结
算法·自动驾驶
罗西的思考13 小时前
AI Agent框架探秘:拆解 OpenHands(10)--- Runtime
人工智能·算法·机器学习
孟健15 小时前
Karpathy 用 200 行纯 Python 从零实现 GPT:代码逐行解析
python
HXhlx17 小时前
CART决策树基本原理
算法·机器学习
码路飞17 小时前
写了个 AI 聊天页面,被 5 种流式格式折腾了一整天 😭
javascript·python
Wect17 小时前
LeetCode 210. 课程表 II 题解:Kahn算法+DFS 双解法精讲
前端·算法·typescript
颜酱18 小时前
单调队列:滑动窗口极值问题的最优解(通用模板版)
javascript·后端·算法