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;//插入数据到合适位置 } }