插入排序算法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)

大家都在看

  • Docker快速部署clickhouse

    Docker快速部署clickhouse Clickhouse特点 完备的DBMS:不仅是个数据库,也是个数据库系统 列存储和数据压缩:典型的olap数据库特性 向量化并行:利用C…

    Linux 2023年6月8日
    083
  • 位图

    例题1 给40亿个不重复的无符号整数,没排过序。给一个无符号整数,如何快速判断一个数是否在 这40亿个数中。 首先肯定不能用传统的int数据存储 因为内存不够 40亿的整数大概为1…

    Linux 2023年6月13日
    081
  • 【设计模式】Java设计模式-组合模式

    Java设计模式 – 组合模式 😄 不断学习才是王道🔥 继续踏上学习之路,学之分享笔记👊 总有一天我也能像各位大佬一样🏆原创作品,更多关注我CSDN: 一个有梦有戏的人…

    Linux 2023年6月6日
    0116
  • 冒泡排序

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    Linux 2023年6月8日
    0101
  • webshell查杀的方法

    从您反馈的情况看,是您的网站被植入了webshel后门文件导致的。您可以先对当前的服务器做下快照备份,然后将您的网站代码拷贝到本地进行下webshell查杀:https://www…

    Linux 2023年5月28日
    0102
  • 保姆教程系列三、Nacos Config–服务配置

    前言: 请各大网友尊重本人原创知识分享,谨记本人博客:南国以南i 上篇我们介绍到 保姆教程系列二、Nacos实现注册中心 配置中心原理 一、 服务配置中心介绍 首先我们来看一下,微…

    Linux 2023年6月14日
    092
  • 运算符重载限制

    p387 5.表 11.1 中的大多数运算符都可以通过成员或非成员函数进行重载,但下面的运算符只能通过成员函数进行重载。 =:赋值运算符。 ():函数调用运算符。 []:下标运算符…

    Linux 2023年6月13日
    088
  • Linux C/C++ 获取进程号、线程号和设置线程名

    在Linux开发过程中,设计多线程开发时可以将进程和线程的 id 打印出来,方便开发调试和后期查问题使用,同时也包括设置线程名。 2.1 进程ID #include <uni…

    Linux 2023年6月7日
    0120
  • Pytorch的类(nn.Module的子类)中的forward函数

    使用 直接通过类的实例对象就可以向类中的forward函数进行参数的传递(当然也可以通过调用forward函数进行传参) import torch.nn as nn class M…

    Linux 2023年6月7日
    0114
  • 设计模式——–原型模式

    原型模式定义:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 原型模式的核心是一个clone方法,通过该方法进行对象的拷贝。 代码实例 原型模式的优点:性能更加优…

    Linux 2023年6月7日
    070
  • JAVA环境变量配置

    java环境配置 下载jdk地址如下: http://www.oracle.com/technetwork/java/javase/downloads/index.html 下载安…

    Linux 2023年6月7日
    0111
  • String为什么不是基本数据类型

    java虚拟机处理基础类型与引用类型的方式是不一样的,对于基本类型,java虚拟机会为其分配数据类型实际占用的内存空间,对于引用类型变量,他仅仅是一个指向堆区中某个实例的指针。 O…

    Linux 2023年6月7日
    092
  • 搭建Nginx四层反向代理

    需求背景: 前段时间公司因为业务需求需要部署一个正向代理,我已经分享出来了https://www.cnblogs.com/Dfengshuo/p/11911406.html,现有因…

    Linux 2023年6月8日
    0103
  • 位运算(一)

    位运算的一般应用 功能 例子 运算 去掉最后一位 1110101->111010 x>>1 在最后加0 1110101->11101010 x< 通过…

    Linux 2023年6月8日
    0129
  • phpcms抛出的二维数组转移到js,js中for….in遍历数组,用“.”连接来读出一维数组值

    直切正题: 1.phpcms在模版中读出数组有很多中方法,如,{pc:content action=”lists”}或{pc:get sql=”…

    Linux 2023年6月13日
    089
  • Unity中Button的一些基础用法

    Button的功能探究 Interactable(是否可交互) 可交互简单来说所指的是按钮能否被点击,有true和false两种状态 public Button testButto…

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