如何在不使用 "if" 语句的情况下检查整数数组是否排序?



如何在不使用if语句的情况下更改此代码?我试着使用while循环,但它不起作用。从那以后,我意识到我错误地使用了while循环。那我该怎么做呢?(使用java(

public class isSorted {
public static void main(String[] args) {
//declaring array literal
double a[] = {1.5, 4.3, 7.0, 19.5, 25.1, 46.2};
int L = a.length;
boolean isSorted = false;
for (double i = 0; i < L; i++) {
if (a[(int) i] < a[(int) (i + 1)]) {
isSorted = true;
}
break;
}
System.out.println(isSorted);
}
}

这样做的一种方法是:

double a[] = {1.5, 4.3, 7.0, 19.5, 25.1, 46.2};
int i = 0;
while (i < a.length - 1 && a[i] <= a[i + 1]) 
i++;
boolean isSorted = i >= a.length - 1; 
System.out.println(isSorted);

基本上,您会检查当前元素是否小于或等于下一个元素,直到发现不匹配或整个数组被解析。那么检查CCD_ 1变量的值将告诉您数组是否排序。

对于检查降序,只需将条件更改为:

a[i - 1] >= a[i]

最新更新