欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

数据结构之---C语言实现直接插入排序

程序员文章站 2022-05-14 10:33:48
//直接插入排序 //假设待排序的记录存放在数组r[1..n]中。 //初始时,r[1]自成1个有序区,无序区为r[2..n]。 //从i=2起直至i=n为止,依次将r[i]插入当前的有序...
//直接插入排序
//假设待排序的记录存放在数组r[1..n]中。
//初始时,r[1]自成1个有序区,无序区为r[2..n]。
//从i=2起直至i=n为止,依次将r[i]插入当前的有序区r[1..i-1]中,
//生成含n个记录的有序区。
//杨鑫
#include 
#include 
#define n 10
void insertsort(int a[], int size)
{
	int i, j, k, temp = 0;
	for(i = 1; i < size; i++)
	{
		temp = a[i];
		for(j = 0; j < i; j++)
		{
			if(temp < a[j])
			{
				for(k = i - 1; k >= j; k--)
				{
					a[k + 1] = a[k];
				}
				a[j] = temp;
				break;
			}
		}
	}
}



int main()
{
	int m = 0;
	int b[n] = {9, 8, 7, 6, 5, 4, 3, 2, 1};
	printf(=============================

);
	printf(排序前的数据是:
9 8 7 6 5 4 3 2 1
);	
	insertsort(b, n);
	printf(排序后的结果是:
);
	for(m = 0; m < n; m++)
	{
		printf( %d , b[m]);
	}
	printf(

=============================

);
	return 0;
}

 

结果:

数据结构之---C语言实现直接插入排序