老师 这个isSorted方法没看懂

来源:2-4 测试算法的性能

华山小叮当

2018-11-07

图片描述

这个Comparable数组里面存放元素是不是所有实现了Comparable接口的对象 还有第32行代码arr.length -1 为什么要 减一呢 i小于数组的长度不就可以了

写回答

1回答

liuyubobobo

2018-11-07

1)这个Comparable数组里面存放元素是不是所有实现了Comparable接口的对象?

是。比如我的代码中的测试,大多使用Integer,就是实现了Comparable接口的对象:)


2)第32行代码arr.length -1 为什么要 减一呢?

因为在下面的逻辑中,要访问arr[i + 1],如果不减一,当 i == arr.length - 1的时候,访问arr[i + 1]会数组越界。

可以这样理解,在这里的整体逻辑是,判断整个数组的所有相连的数据对,是否都有前一个小于后一个。一个有n个元素的数组,只有n - 1个数据对,所以,我们的循环执行n - 1次就好。每次判断第i个元素和第i+1个元素是否符合条件:)


加油!:)

1
1
华山小叮当
非常感谢!
2018-11-07
共1条回复

算法与数据结构(C++版) 面试/评级的算法复习技能包

课程专为:短时间内应对面试、升职测评等艰巨任务打造

11209 学习 · 1617 问题

查看课程