【发布时间】:2014-04-25 08:21:36
【问题描述】:
我想创建一个方法来检查数组是否已排序,最小的整数在数组的开头,最大的在数组的末尾。我命名了数组序列。
public boolean isSorted(){
int i = 1;
while(i < sequence.length && sequence[i] >= sequence[i-1]){
i++;
}
return i >= sequence.length;
}
我在朋友的帮助下得到了这段代码,但我并不完全理解它。什么作为布尔值返回?据我所知,阅读其他帖子时,它会在 i >= sequence.length 时返回 true only。 给定while条件,只有对数组进行排序时,i才会大于或等于sequence.length。
我说的对吗?抱歉,如果我的格式很糟糕,我还是 stackoverflow 的新手。
【问题讨论】:
-
对,通常使用调试工具更好地理解你的代码
-
顺便说一句,return 可以更改为
return i == sequence.length,因为它永远不会更大。
标签: java arrays boolean sorted