个人理解 直接插入排序:
选取第i个元素,与前面 i-1 个元素比较,找出符合条件的位置,将其插入;
将 i 所在元素值 放置temp中,将符合位置之后的元素 往后移动( arr[i] = arr[i-1])循环直到符合位置将其 = temp;
#include <stdio.h>
int main()
{
int i,temp,p= 0;
int array[10] = {2,6,1,9,4,7,5,8,3,0};
printf("Display this array:\n");
for(i = 0; i<10; i++)
{
printf("%d ", array[i]);
}
for(i =1; i< 10; i++)
{
temp =array[i];
p=i;
while( p>0 && temp < array[p-1])
{
array[p] = array[p-1];//0跟1交换
p--;
}
array[p] = temp;
}
printf("\n");
printf("After sorting ,this array is:\n");
for(i = 0; i<10; i++)
{
printf("%d ", array[i]);
}
printf("\n");
return 0;
}