//?插入排序
void?InsertSort(int?array[],?int?length)

{
????int?i,?j,?key;
????for?(i?=?1;?i?<?length;?i++)
????
{
????????key?=?array[i];
????????//?把i之前大于array[i]的数据向后移动
????????for?(j?=?i?-?1;?j?>=?0?&&?array[j]?>?key;?j--)
????????
{
????????????array[j?+?1]?=?array[j];
????????}
????????//?在合适位置安放当前元素
????????array[j?+?1]?=?key;
????}
}