目 录CONTENT

文章目录

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

Stars-one
2019-01-25 / 0 评论 / 0 点赞 / 3 阅读 / 0 字

思路

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

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

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;
    }
}
0

评论区