美文网首页💅世间语遇见文字✨遇见爱互联网@时事传播
「算法原理与实现」插入排序(Insertion Sort)

「算法原理与实现」插入排序(Insertion Sort)

作者: 307656af5a04 | 来源:发表于2019-10-08 22:51 被阅读0次

    插入排序具体实现

    ////////////////////////////////////////////////////////////////////////////
    // 插入排序
    ///////////////////////////////////////////////////////////////////////////
    
    // brief: 插入排序
    // @param:[in]      numbers          待排序的数组
    // @param:[in]      n                排序数组的长度
    // @returnValue     int                表示返回值的标记 
    int InsertionSort(int *numbers, int n)
    {
        if(numbers == NULL)
            return -1;
            
        int i = 0, j = 0, temp = 0;
        for(i = 1; i < n; i++) // 循环遍历每一个元素
        {
            temp = numbers[i]; // 将numbers[i]赋值给temp
            j = i - 1;
            while(j >= 0 && temp < numbers[j]) // 由小到大排序
            {
                numbers[j + 1] = numbers[j];  // 将大的元素向前放
                j--;
            }
            // 如果插入的数比之前的大,将numbers[j] 与 numbers[j + 1]互换
            numbers[j + 1] = temp;
        }
        return 0;
    }
    

    相关文章

      网友评论

        本文标题:「算法原理与实现」插入排序(Insertion Sort)

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