1 条题解

  • 0
    @ 2025-10-30 11:01:19

    思路分析

    1. 任务拆解:

    • 读取整数个数n
    • 读取n个整数
    • 使用插入排序进行升序排序
    • 每处理一个元素就输出当前数组状态

    2. 关键点分析:

    • 插入排序从第2个元素开始(i=1),认为第一个元素已排序
    • 如果当前元素比前一个元素小,才需要进行插入操作
    • 使用temp保存当前元素,为元素后移腾出空间
    • 从右往左比较,找到合适的插入位置
    • 每处理完一个元素就输出当前数组状态

    3. 步骤规划: 第一步:读取整数个数n 第二步:循环读取n个整数 第三步:从第2个元素开始插入排序 第四步:如果当前元素需要插入,保存该元素 第五步:将比当前元素大的元素后移 第六步:在正确位置插入当前元素 第七步:每趟处理后输出当前数组

    4. 代码对应:

    • cin>>n:读取整数个数
    • for循环:输入数组元素(下标从0开始)
    • if(a[i]<a[i-1]):判断是否需要插入
    • temp=a[i]:保存当前要插入的元素
    • 内层for循环:寻找插入位置,比temp大的元素后移
    • a[j+1]=a[j]:元素后移操作
    • a[j+1]=temp:在正确位置插入元素
    • 输出循环:每趟排序后输出当前数组状态

    信息

    ID
    4105
    时间
    1000ms
    内存
    128MiB
    难度
    7
    标签
    (无)
    递交数
    13
    已通过
    12
    上传者