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

思路

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

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

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;
	}
}
posted @ 2019-01-25 14:59  Stars-one  阅读(3143)  评论(0编辑  收藏