[cpp]
void InsertSort(int a[],int n)
{
//在數列最前端維護一個有序序列,每次從後面無序序列中拿出一個數據然後向前查找合適的插入位置
//每次插入時需要不斷的向後移動數據位置,給插入的數據提供插入空間
for(int i=1;i<n;i++)
{
int key=a[i];//取出一個尚未排序的數據
for(int j=i-1;j>=0&&key<a[j];--j)//查找適合這個數據的插入位置
a[j+1]=a[j];//將比他大的數據向後移動,給他插入騰出位置
a[j+1]=key;//插入數據到合適位置
}
}