记一次写插入排序时的错误
刚开始的源码是这样的

编译没有错误,在运行时抛出错误

数组越界,经过排错,发现是第九行的代码逻辑出错,导致数组下标越界
循环判断时先判断了list[k] > temp,而不是 k >=0,于是,当k的值为-1时(即数组中最小的数要插入到数组头时,即数字0要插入到放到list[0]的位置,此时 i = 9, k = -1),就产生了数组越界问题
修改之后的正确代码

本文分享了一次在实现插入排序过程中遇到的数组越界错误经历,详细解析了错误原因在于条件判断顺序不当,并给出了正确的代码逻辑修改方案。
记一次写插入排序时的错误
刚开始的源码是这样的

编译没有错误,在运行时抛出错误

数组越界,经过排错,发现是第九行的代码逻辑出错,导致数组下标越界
循环判断时先判断了list[k] > temp,而不是 k >=0,于是,当k的值为-1时(即数组中最小的数要插入到数组头时,即数字0要插入到放到list[0]的位置,此时 i = 9, k = -1),就产生了数组越界问题
修改之后的正确代码

2715
603
2万+
1146

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