测试点4 :存在重复元素。
int i = 0; // 找插入排序边界判断得时候要加上等号
while(tmp[i] <= tmp[i+1]) i++;
int i = 0; // 这样就是错得
while(tmp[i] < tmp[i+1]) i++;
测试点2:存在 3 4 2 1;3 4 2 1这种序列,判断是否是插入排序得时候
得从前往后找(像上面代码那样),不能从后往前(与原序列相等就–)那么找。
本文探讨了插入排序中边界判断的重要性,特别是在处理存在重复元素的情况。同时,针对特定序列如3421,强调了正确的判断方向对于算法正确性的关键作用。
测试点4 :存在重复元素。
int i = 0; // 找插入排序边界判断得时候要加上等号
while(tmp[i] <= tmp[i+1]) i++;
int i = 0; // 这样就是错得
while(tmp[i] < tmp[i+1]) i++;
测试点2:存在 3 4 2 1;3 4 2 1这种序列,判断是否是插入排序得时候
得从前往后找(像上面代码那样),不能从后往前(与原序列相等就–)那么找。

被折叠的 条评论
为什么被折叠?