当前位置: 首页 > news >正文

插入排序详细讲解

流程图:

#include <stdio.h>

int main() //插入排序 
{
    int a[5] = { 64, 25, 12, 22, 11 };
    int temp = 0;

    // 打印原始数组
    printf("原始数组:");
    for (int j = 0; j < 5; j++) {
        printf("%-3d", a[j]);
    }
    printf("\n");

    // 插入排序
    for (int i = 1; i < 5; i++) {
        temp = a[i];  // 保存当前要插入的元素
        int j = i - 1;

        // 将大于temp的元素向后移动
        while (j >= 0 && a[j] > temp) {
            a[j + 1] = a[j];
            j--;
        }
        a[j + 1] = temp;  // 在正确的位置插入temp

        // 打印每轮排序后的结果
        printf("第%d轮:", i);
        for (int k = 0; k < 5; k++) {
            printf("%-3d", a[k]);
        }
        printf("\n");
    }

    // 打印最终结果
    printf("排序后:");
    for (int j = 0; j < 5; j++) {
        printf("%-3d", a[j]);
    }
    printf("\n");

    return 0;
}

运行结果:

http://www.dtcms.com/a/115606.html

相关文章:

  • modprobe: can‘t open ‘modules.dep‘: No such file or directory
  • JAVA反序列化深入学习(十三):Spring2
  • 多元高斯分布函数
  • Java中String、Array、List的相互转换工具类
  • java实用工具类Localstorage
  • C++ 获取一整行(一行)字符串并转换为数字
  • GESP C++三级 知识点讲解
  • 随笔1 认识编译命令
  • JavaWeb开发基础知识-XML和JSON
  • Git分支管理
  • 【谷云科技iPaaS观点】如何通过iPaaS平台实现主数据高效同步
  • 华为磁电融合MED vs 铁电/闪存:存储技术新赛道!
  • redis高并发缓存架构与性能优化
  • 青少年编程与数学 02-016 Python数据结构与算法 04课题、栈与队列
  • UE5学习记录part14
  • Windows11 优雅的停止更新、禁止更新
  • 回归预测 | Matlab实现NRBO-Transformer-GRU多变量回归预测
  • 【Linux操作系统——学习笔记三】Linux环境下多级目录构建与管理的命令行实践报告
  • GTA6大型MOD地图
  • 使用docker搭建redis镜像时云服务器无法访问到国外的docker官网时如何解决
  • 瑞萨RA4M2使用心得-GPIO输出
  • [Deep-ML]Reshape Matrix(重塑矩阵)
  • 【Part 1全景视频拍摄与制作基础】第三节|全景视频后期拼接与处理流程
  • C# Winform 入门(12)之制作简单的倒计时
  • zkmall开源商城日志管理:Logback 最佳实践
  • Visual Decoding and Reconstruction via EEG Embeddings with Guided Diffusion
  • 14-产品经理-维护计划
  • 【数据分享】2000—2020年我国250m精度灌溉农田栅格数据(免费获取)
  • 2025 XYCTF ezsql 详细教程wp
  • Java的Selenium的特殊元素操作与定位之时间日期控件