直接插入排序
核心思想:将待插入元素一个个插入初始已有序的过程,而且插入的位置遵循使插入后仍然保持有序的原则,具体的做法一般是:从后往前枚举已有序部分来确定插入的位置。
代码实现
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 } }