开头的代码是不是有bug?

来源:1-5 选择排序法的复杂度分析

Masato1990

2022-10-02 21:09:09

相关截图:

https://img.mukewang.com/climg/63398b6509827fe712640852.jpg

开头这段代码是不是有问题?

minIndex如果定义在第二层for循环外面的话,执行swap时minIndex指向的元素很可能不是最小的,导致arr[i]被错误地替换掉。

写回答

1回答

liuyubobobo

2022-10-02

minIndex 指向的是 arr[i...n) 区间里的最小元素的索引(而不是全局的最小元素的索引)。


如果你认为有错误,可以尝试:


1)进一步思考:在什么情况下会发生你说的错误?构造出相应的测试用例?


2)实际使用这个测试用例运转一下,看是否真的发生了错误?


3)如果真的有错误,将这个测试用例告诉我;如果没有发生错误,仔细看一下,为什么你认为代码的输出有错误,实际却是正确的?为什么实际输出和你认为的输出不一样?自己哪里想错了?


进步就再这个过程中。


继续加油!:)

0
hasato1990
回复
hiuyubobobo
hp>找到问题了,我把swap写到内循环里面去了=。。=


再次谢谢老师指点!



h022-10-03
共3条回复

算法与数据结构

波波老师5年集大成之作,算法与数据结构系统学习,考试、面试、竞赛通用

2584 学习 · 1063 问题

查看课程