插入排序

Posted arvin-jin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了插入排序相关的知识,希望对你有一定的参考价值。

算法原理:在数组的的有序区中找到待排序的元素要插入的位置,将该位置后面的元素整体后移,将待排序的元素插入该位置,重复以上步骤,直到倒排序的元素全部插入完成为止。

图示:

技术分享图片

 

代码:

void InsertSort(int a[], int n)
{
    for (int i = 1; i < n; i++)
    {
        int temp = a[i];//待插入的数据并存入temp
        int j = i - 1;//待插入的数据前一个数据的位置
        while (temp < a[j] && j >= 0)//在待插入的数据前面排好序的序列中找到要插入的位置
        {
            a[j + 1] = a[j];//将要插入位置后面的数据整体后移一位,为新插入的数据腾出空间
            j--;
        }
        a[j + 1] = temp;//插入数据
    }
}

 

以上是关于插入排序的主要内容,如果未能解决你的问题,请参考以下文章

KDoc:插入代码片段

代码片段使用复杂的 JavaScript 在 UIWebView 中插入 HTML?

将代码片段插入数据库并在 textarea 中以相同方式显示

关于在各浏览器中插入音频文件的html代码片段

初识Spring源码 -- doResolveDependency | findAutowireCandidates | @Order@Priority调用排序 | @Autowired注入(代码片段

初识Spring源码 -- doResolveDependency | findAutowireCandidates | @Order@Priority调用排序 | @Autowired注入(代码片段