当前位置: 首页 > 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;
}

运行结果:

相关文章:

  • 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官网时如何解决
  • 刷神马网站优化排名/免费建站工具
  • 做网站编程要学什么/网页模板免费下载
  • wordpress快捷登录/公司网站如何seo
  • 谷歌建站多少钱/seo搜索引擎推广
  • 做汽车网站费用/惠州大亚湾经济技术开发区
  • 网站建设 万网/口碑优化seo