直接插入排序是一种最简单的排序方法,其基本操作是将一条记录插入到已排好的有序表中,从而得到一个新的、记录数量增1的有序表。
#include<stdio.h>
#include<Windows.h>
#include<assert.h>
void Insertsor(int *a,int n )
{
for (int i = 0; i < n - 1; i++)
{
int end =i;
int tmp = a[end + 1];
while (end >= 0 && a[end] > tmp)
{
a[end+1] = a[end];
--end;
}
a[end + 1] = tmp;
}
}
void print(int *a,int n)
{
for (int i = 0; i < n; i++)
{
printf("%d", a[i]);
}
}
int main()
{
int a[] = { 3,2,4,7,5,6,8,9,0,1 };
int n = sizeof(a)/sizeof(a[0]);
Insertsor(a, n);
print(a, n);
system("pause");
return 0;
}