排序算法之直接插入排序
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;
}
动图展示:
以上是关于排序算法之直接插入排序的主要内容,如果未能解决你的问题,请参考以下文章