插入排序算法C语言实现

插入排序算法C语言实现

我写出来的排序算法用printf一步步解读,与google algorithm APP上模拟的单步执行不一致。

于是参考了https://www.cnblogs.com/coding-996/p/12275710.html,写出如下代码,经测试,与google algorithm APP上模拟的单步执行一致。

int insert_sort(int *list, int len)
{
    int i = 0;
    int j = 0;
    int tmp = 0;

    if((NULL == list) || (0 == len))
    {
        return 1;
    }

    for (i = 1; i < len; i++) {
        j = i;
        while (j > 0){
            if (list[j] < list[j-1]){
                printf("swap %d, %d --> list[%d], list[%d]", list[j-1], list[j], j-1, j);
                tmp = list[j];
                list[j] = list[j-1];
                list[j-1] = tmp;
                j--;
                getchar();
            }else {
                break;
            }
        }
    }
}

Original: https://www.cnblogs.com/sinodragon21/p/14390089.html
Author: sinodragon21
Title: 插入排序算法C语言实现

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/610319/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Twikoo私有化部署教程–迁移腾讯云

    备份数据 私有化部署 创建容器 导入数据 重新配置twikoo面板设置 引入前端CDN Nginx https反代http 作者:小牛呼噜噜 | https://xiaoniuhu…

    Linux 2023年6月6日
    0147
  • git 那些事儿 —— 基于 Learn Git Branching

    推荐一个 git 图形化教学网站:Learn Git Branching,这个网站有一个沙盒可以直接在上面模拟 git 的各种操作,操作效果使用图形的方式展示,非常直观。本文可以看…

    Linux 2023年5月27日
    0132
  • winServer 监控Serv-U服务脚本(停止自动启动)

    Windows Server 服务器监控服务脚本,每60s查询一次,若服务停止即再启动 Serv-U 服务监控 脚本如下: @echo off rem &#x5B9A;&a…

    Linux 2023年6月7日
    090
  • 二、Java分布式(第二章)—-Demo

    这一章简单搭建一个分布式服务: 1、Dubbo简介:Dubbo 是一个分布式服务框架,是阿里巴巴开源项目。 Dubbo 致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA…

    Linux 2023年6月7日
    0123
  • Linux 内核软死锁(soft lockup)bug原因分析

    由日志我们看到,CPU一直处于超负载运行,因此导致机器产生断链的告警 解决方法: echo 30 > /proc/sys/kernel/watchdog_thresh sys…

    Linux 2023年6月13日
    0104
  • 【C++基础】数据类型

    C++规定在创建一个变量或者产量时,必须要指定相应的数据类型,否则无法给变量分配内存空间 数据类型的存在意义:给变量分配合适的内存空间 整型 作用:整型变量表示的是整数类型的数据 …

    Linux 2023年6月13日
    0102
  • 没学习的恐惧

    已经三个月没有接触新知识,每次上线之后就有一些bug,觉得自己作为一个点点点的测试很失败。我很迷茫,我都不知道自己一天是如何过的,反正就觉得时间过的很快,而且发现什么事都没做一天就…

    Linux 2023年6月8日
    095
  • PMP 考试常见工具与技术点总结

    转载请注明出处: 网络图:项目进度活动之间的逻辑关系,用来推算关键路径,最大浮动时间等; 横道图(甘特图):以图示的方式,通过活动列表和时间刻度,来展示项目获得那个顺序和持续时间 …

    Linux 2023年6月14日
    094
  • 类成员变量的初始化

    1-1 类成员变量初始化的分类 类成员变量的初始化可简单分为两类:非静态成员变量的初始化(以下简称”普通初始化”)和静态成员变量的初始化(”静态…

    Linux 2023年6月8日
    0119
  • 用动态端口,增强winrm,open sshd的,服务器安全

    前言 我开发了一套开源,免费,跨平台的devops脚本批量运维工具。【kaiiit家的饭店】是软件的正式名字。【卡死你3000】是第一版开发代号。 想要增强win被控机密码安全。可…

    Linux 2023年6月14日
    085
  • Fastadmin前台Getshell漏洞复现

    Fastadmin前台Getshell漏洞复现 一、简介 FastAdmin是一款基于ThinkPHP5+Bootstrap开发的极速后台开发框架。FastAdmin基于Apach…

    Linux 2023年5月28日
    0126
  • Windows 常用 Dos PowerShell 命令

    Dos #^.^ dir /a/s/p PowerShell #批量重命名文件 dir -Recurse *.png | foreach {Rename-Item $_ -NewN…

    Linux 2023年5月28日
    0102
  • 安卓开发封装处理Retrofit协程请求中的异常

    上篇文章讲解了怎么使用 Kotlin的协程配合 Retrofit发起网络请求,使用也是非常方便,但是在处理请求异常还不是很人性化。这篇文章,我们将处理异常的代码进行封装,以便对异常…

    Linux 2023年6月8日
    0111
  • 计算机系统领域学术会议论文评审流程

    今天看到海波老师的一张图,进行转载一下,下图记录了SOSP, OSDI, Eurosys 等计算机系统顶会的评审流程: 保持更新;cnblogs.com/xuyaowen。 Ori…

    Linux 2023年6月14日
    092
  • 在.NET中体验GraphQL

    前言 以前需要提供Web服务接口的时候,除了标准的WEBAPI形式,还考虑了OData、GraphQL等形式,虽然实现思路上有很大的区别,但对使用方来说,都是将查询的主动权让渡给了…

    Linux 2023年6月6日
    0136
  • 高速USB转4串口产品设计-TTL串口

    基于480Mbps 高速USB转8路串口芯片CH344Q,可以为各类主机扩展出4个独立的串口。CH344芯片支持使用操作系统内置的CDC串口驱动,也支持使用厂商提供的VCP串口驱动…

    Linux 2023年6月7日
    0113
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球