直接插入排序
核心思想:将待插入元素一个个插入初始已有序的过程,而且插入的位置遵循使插入后仍然保持有序的原则,具体的做法一般是:从后往前枚举已有序部分来确定插入的位置。
代码实现
int str[maxn],n;//n为元素个数,数组下标为1~n
void insertSortL(){
for(int i=2;i<=n;j++)//进行n-1趟排序
{
int temp=str[i];//temp临时存放str[i]
j=i;//j从i开始往前枚举
while(j>1&&temp<str[j-1])//只要temp小于前一个6元素str[j-1]
{
str[j]=str[j-1];str[j-1]后移一位至str[j]
j--;
}
str[j]=temp;//插入位置为j
}
}
京公网安备 11010502036488号