插入排序

从第二个数开始向前插入。

复杂度O(n^2),稳定。

code

/*
	插入排序
*/
#include <stdio.h>
#include <stdlib.h>

#define A 11
int s[A]={592,401,874,141,348,72,911,887,820,283,100};

void insertsort(int s[],int n)
{
	int i,j,temp;

	for(i=1;i<n;i++)
	{
		temp=s[i];
		j=i-1;
		while(j>=0 && s[j]>temp)
		{
			s[j+1]=s[j];
			j--;
		}
		s[j+1]=temp;
	}
}

int main(void)
{
	int i;

	insertsort(s,A);
	printf("The insert sort is:\n");
	for(i=0;i<A;i++)
	{
		printf("%d ",s[i]);
	}
	printf("\n");

	system("pause");
	return 0;
}


你可能感兴趣的:(插入排序)