Java 学习笔记 判断一个数组是否有序

时间:2022-03-26 10:19:26

思路

升序:每次比较数组中的两个数的时候,最大的数一定是前一个

降序: 每次比较数组中的两个数的时候,最小的数一定是前一个

Flag1和flag2都是假的时候,返回flase,否则,返回flase

代码

public static boolean isSorted(int[] data) {
boolean flag1 = false,flag2 = false;
//数组是否为升序
for (int i = 0; i < data.length-1; i++) {
if (data[i] == Math.min(data[i], data[i + 1])) {
flag1 = true;
} else {
flag1 = false;
break;
}
}
//数组是否为降序
for (int i = 0; i < data.length - 1; i++) {
if (data[i] == Math.max(data[i], data[i + 1])) {
flag2 = true;
} else {
flag2 = false;
break;
}
}
if (flag1 || flag2) {
return true;//有一个为真,即是已经排过序了
} else {
return false;
}
}