zoukankan      html  css  js  c++  java
  • 直接插入排序

    https://www.cnblogs.com/guopengxia0719/p/10520561.html

    C语言

    #include <stdio.h>
    int a[20];
    void InputArraay()
    {
        for (int i = 1; i <= 10; i++)
            scanf("%d", &a[i]);
    }
    void OutputArraay()
    {
        for (int i = 1; i <= 10; i++)
            printf("%d ", a[i]);
    }
    //插入排序
    //1.数据分为两部分,一开始有序部分包含1个元素
    //2.依次将无序部分的元素插入到有序部分当中
    void Insert(int i)
    {
        int j = i - 1, k = a[i]; //j为当前下标, k为无序部分第一个元素
        while (j >= 1 && k < a[j])
        {                    //找到k元素在有序部分的位置
            a[j + 1] = a[j]; //循环的时候直接右移有序数组,为k腾出位置
            j--;             //不是k正确的位置,继续往前循环
        }
        a[j + 1] = k; //出来的时候j多减了1,要加回去
    }
    void Sort()
    {
        //遍历无序部分,每次取出第一个元素
        for (int i = 2; i <= 10; i++)
        {
            Insert(i);
        }
    }
    int main()
    {
        InputArraay();
        Sort();
        OutputArraay();
        return 0;
    }
    
    
  • 相关阅读:
    RabbitMQ管理
    vc6.0
    SystemTap
    undefined reference to `__imp_socket'
    采集小板校时
    点播播放不出来
    抓包注意事项
    下载rfc
    CLion快捷键
    rtsp vlc请求实例
  • 原文地址:https://www.cnblogs.com/zpchcbd/p/11712850.html
Copyright © 2011-2022 走看看