首页 > 编程语言 > 详细

插入排序算法C语言实现

时间:2021-02-08 22:14:42      阅读:24      评论:0      收藏:0      [点我收藏+]

插入排序算法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 (int i = 1; i < len; i++) {
        int 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;
            }
        }
    }
}

 

插入排序算法C语言实现

原文:https://www.cnblogs.com/sinodragon21/p/14390089.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!