美文网首页
c语言实现插入排序算法

c语言实现插入排序算法

作者: 一路向后 | 来源:发表于2021-01-17 19:46 被阅读0次

1.算法简介

   插入排序是一种最简单的排序方法,它的基本思想是将一个记录插入到已经排好序的有序表中,从而一个新的、记录数增1的有序表。在其实现过程使用双层循环,外层循环对除了第一个元素之外的所有元素,内层循环对当前元素前面有序表进行待插入位置查找,并进行移动。

2.源码实现

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

//插入排序算法
void insert_sort(int n, int *u)
{
        int i, j, k;

        for(i=1; i<n; i++)
        {
                k = u[i];

                //若某个数字比这个数字大, 就右移一下
                for(j=i-1; j>=0 && u[j] > k ; j--)
                {
                        u[j+1] = u[j];
                }

                u[j+1] = k;
        }
}

int main()
{
        int u[] = {1, 9, 7, 0, 6};
        int n = 5;
        int i = 0;

        insert_sort(n, (int *)u);

        for(i=0; i<n; i++)
        {
                printf("%d ", u[i]);
        }

        putchar('\n');

        return 0;
}

3.编译源码

$ gcc -o test test.c

4.运行及结果

$ ./test
0 1 6 7 9 

相关文章

  • 排序算法详细代码实现

    算法分类 算法时间复杂度 选择排序 插入排序 C++实现 Python实现 冒泡排序 Python实现 归并排序 ...

  • 2019-08-11插入排序

    C语言实现的插入排序算法两种实现方式代码繁多(逻辑简单) 代码简洁(逻辑复杂) 上面两种代码。代码简洁一般逻辑复杂...

  • c语言实现插入排序算法

    1.算法简介    插入排序是一种最简单的排序方法,它的基本思想是将一个记录插入到已经排好序的有序表中,从而一个新...

  • 算法-插入排序

    算 法:插入排序算法时间复杂度: 插入排序算法描述 插入排序伪代码 插入排序实现 插入排序算法概述 插入排...

  • 使用golang编写简单的算法

    通过编写一些简单的算法学习golang语言。下面是插入排序算法golang语言的实现:一般的写法: golang语...

  • 排序算法(插入排序、希尔排序、堆排序、归并排序)

    插入排序、希尔排序、堆排序、归并排序 --c语言实现 逐渐添加中....

  • 七种常见的数组排序算法整理(C语言版本)

    ~~~C语言版本~~~ 冒泡排序 选择排序 直接插入排序 二分插入排序 希尔排序 快速排序 堆排序 排序算法是否稳...

  • 单链表的C语言算法实现

    单链表的C语言算法实现 自己用C语言实现的单链表算法,有什么不正确的地方,请各位共同讨论与指正。

  • 数据结构&算法(一)

    一、Java实现快速排序算法 二、Java实现折半插入排序算法 三、Java实现冒泡排序算法

  • 排序

    本文主要介绍排序的几种实现,简单计算一下复杂度。 冒泡排序 插入排序 由N-1趟排序组成C语言代码实现: 插入排序...

网友评论

      本文标题:c语言实现插入排序算法

      本文链接:https://www.haomeiwen.com/subject/bilzaktx.html