从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)))
相关推荐
confiself3 分钟前
Engram论文学习
学习
想逃离铁厂的老铁4 分钟前
Day42 >> 188、买卖股票的最佳时机IV + 309.最佳买卖股票时机含冷冻期 + 714.买卖股票的最佳时机含手续费
算法·leetcode·职场和发展
chilavert3184 分钟前
技术演进中的开发沉思-317 JVM:指令集(下)
开发语言·python
wu_asia5 分钟前
方阵对角线元素乘积计算
数据结构·算法
崇山峻岭之间19 分钟前
Matlab学习记录36
学习
tjjucheng21 分钟前
小程序定制开发公司排名
python
永远快乐的攻城狮22 分钟前
二、学习电子元器件-电阻器
学习
想逃离铁厂的老铁36 分钟前
Day43 >> 300.最长递增子序列 + 674. 最长连续递增序列+ 718. 最长重复子数组
数据结构·算法
Yzzz-F37 分钟前
P6648 [CCC 2019] Triangle: The Data Structure [st表]
算法
276695829244 分钟前
dy bd-ticket-guard-client-data bd-ticket-guard-ree-public-key 逆向
前端·javascript·python·abogus·bd-ticket·mstoken·ticket-guard