我正在编写代码来检查我的数组是按升序还是降序排列。如果 boolean 值“升序”为真,那么我会检查它是否在升序。如果它是假的,那么我检查降序。我需要帮助检查数组是否降序...我有检查升序的代码,写在下面:
protected boolean isSorted(boolean ascending) {
boolean result = false;
if (ascending) {
for (int i=0;i<data.length-1;i++) {
if(data[i] < data[i+1]) {
result = true;
} else if(data[i] > data[i+1]) {
result = false;
}
}
} else {
//code to check for descending order
}
}
最佳答案
if
的第一部分(“升序”检查)是错误的,应该是:
for (int i = 0; i < data.length-1; i++) {
if (data[i] > data[i+1]) {
return false;
}
}
return true;
相反,降序检查应该是(注意它足以改变比较运算符的方向):
for (int i = 0; i < data.length-1; i++) {
if (data[i] < data[i+1]) {
return false;
}
}
return true;
在这两种情况下,您都必须在找到一对不具有升序或降序属性的数字时立即跳出循环,并且只返回 true
在循环退出后。
关于java - 检查数组的降序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18005437/