从0开始学算法——第六天(进阶排序算法练习)

写在开头的话

学完了进阶排序算法的知识后让我们来连点题目吧。(参考答案也是我写的哈,肯定有改进空间,有更好的方法欢迎交流呀)

题目

参考答案(Python版)

python 复制代码
def insertion_sort(arr):
    """
    插入排序算法实现
    """
    n = len(arr)
    for i in range(1, n):
        key = arr[i]  # 当前待插入的元素
        j = i - 1
        
        # 将大于key的元素向后移动
        while j >= 0 and arr[j] > key:
            arr[j + 1] = arr[j]
            j -= 1
        
        # 将key插入到正确位置
        arr[j + 1] = key
    return arr

if __name__ == "__main__":
    n = int(input())  # 读取序列长度
    a = list(map(int, input().split()))  # 读取序列
    
    # 使用插入排序
    sorted_arr = insertion_sort(a)
    
    # 输出排序结果
    print(' '.join(map(str, sorted_arr)))
相关推荐
做怪小疯子17 小时前
华为笔试0429
python·numpy
Warson_L17 小时前
Dictionary
python
lilihuigz17 小时前
Tutor LMS 4.0 Beta版全新上线:以学习者为中心的移动优先学习体验
学习·在线教育·lms
William Dawson17 小时前
2026软考中级系统集成项目管理工程师备考笔记
笔记·系统集成项目管理工程师
王老师青少年编程18 小时前
csp信奥赛C++高频考点专项训练之贪心算法 --【哈夫曼贪心】:合并果子
c++·算法·贪心·csp·信奥赛·哈夫曼贪心·合并果子
叼烟扛炮18 小时前
C++第二讲:类和对象(上)
数据结构·c++·算法·类和对象·struct·实例化
天疆说18 小时前
【哈密顿力学】深入解读航天器交会最优控制中的Hamilton函数
人工智能·算法·机器学习
寒山李白19 小时前
解决 python-docx 生成的 Word 文档打开时弹出“无法读取内容“警告
python·word·wps·文档·docx·qoder
wuweijianlove19 小时前
关于算法设计中的代价函数优化与约束求解的技术7
算法
leoufung20 小时前
LeetCode 149: Max Points on a Line - 解题思路详解
算法·leetcode·职场和发展