排序算法之直接插入排序

Posted 数据结构C语言版

tags:

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

八大排序算法之直接排序法

No.1  基本思想

在要排序的一组数中,假设前面(n-1)[n>=2] 个数已经是排好顺序的,现在要把第n个数插到前面的有序数中,使得这n个数也是排好顺序的。如此反复循环,直到全部排好顺序。

No.2 实例


No.3  C语言程序实现

程序框可以左右滑动哦~
#include<stdio.h>
#include<windows.h>
int main()
{
   int a[] = {49,38,65,97,76,13,27,49,78,34,12,64,5,4,62,99,98,54,56,17,18,23,34,15,35,25,53,51};
   int n = 28;
   int temp,i,j;
   for(i=0;i<n;i++)
   {
       printf("%d\t",a[i]);
   }
   printf("\n");
   for(i=1;i<n;i++)
   {
       temp = a[i];
       for(j = i-1;j>=0 && temp<a[j];j--)
       {
           a[j+1] = a[j];
       }
       a[j+1] = temp;
   }
   for(i=0;i<n;i++)
   {
       printf("%d\t",a[i]);
   }
   printf("\n");
   system("pause");
   return 0;
}


动图展示:






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

排序算法之直接插入排序

数据结构与算法之排序算法:插入排序

算法3 七大排序之:直接插入排序和希尔排序

插入排序算法初学算法之排序--直接插入排序

排序算法之插入排序(直接插入排序折半插入排序希尔排序)

重温基础算法内部排序之插入排序法