zoukankan      html  css  js  c++  java
  • C 语言 实现int数组的插值排序

    C 语言 实现int数组的插值排序

    /*** Insert Sort ***/
    #include <stdio.h>

    // 将int数据打印出来
    void PrintArr(int* a,int len)
    {
    for (int i = 0;i<len;i++)
    {
    printf(" %d ",a[i]);
    }
    printf("\n");
    }

    void InsertSort(int* arr,int len)
    {
    // X 用来保存 要插入的数值
    int x = 0;
    // 从第二个数开始 与前面所有的数进行比较.如果小于前面的数,
    // 就把这个值 放到前面那个数的位置其实值向后移一位.
    // 产生插入的效果
    for ( int i = 1 ;i < len ;i ++)
    {
    // 这里 j = 0 且 < i 意思就是i之前的所有数值的个数
    for (int j = 0; j < i;j ++)
    {
    if( *(arr + i) < *(arr + j) )
    {
    // 把 i 之的数据保存一份. 因为要进行移动位置的操作.
    x = *(arr + i);
    // 把 j(包括) 与 i(不包括因为要放到 j的位置) 之间的数后面移一位
    for (int w = i - j;w > 0;w --)
    {
    *(arr + w + j) = *(arr + w + j - 1);
    }
    // 最后 把记录的 i 处的数据放到 j 处位置
    *(arr + j ) = x;
    }
    }
    PrintArr(arr,len);
    }
    }

    int main()
    {
    int a[] = {4,2,1,6,8,3,9,5,0};
    int len = sizeof(a)/sizeof(int);

    InsertSort(a,len);

    }



  • 相关阅读:
    localStorage溢出问题
    面试题梳理
    灵活的楼梯导航条代码
    日期初始化
    css 控制横向布局,超出隐藏,滚动
    自定义滚动条样式
    jquery源码之JQ对象
    jqeury源码之变量解析
    jquery源码之通篇概要
    工作站流处理
  • 原文地址:https://www.cnblogs.com/easyfrog/p/2422438.html
Copyright © 2011-2022 走看看