📌  相关文章
📜  检查数组是否形成增减序列,反之亦然(1)

📅  最后修改于: 2023-12-03 15:40:34.438000             🧑  作者: Mango

检查数组是否形成增减序列

在程序开发中,我们经常需要检查一个数组是否形成增减序列,也就是数组中的元素是否按照顺序递增或递减排列。这是一种非常基础的问题,但在实际开发中却很常见,例如在排序算法、查找算法等领域中都会用到。

解决方法

使用一个简单的循环遍历就可以实现对数组的检查。具体过程如下:

  1. 初始化一个布尔变量 isIncreasing,用来表示数组是否递增排序。
  2. 初始化一个布尔变量 isDecreasing,用来表示数组是否递减排序。
  3. 遍历整个数组,对于数组中的每个元素,依次比较其与它后面的元素的大小关系。
  4. 如果当前元素小于下一个元素,说明数组是递增排序,将 isIncreasing 置为 true
  5. 如果当前元素大于下一个元素,说明数组是递减排序,将 isDecreasing 置为 true
  6. 如果既不是递增排序也不是递减排序,则说明当前数组不是增减序列。

示例代码如下:

bool checkArray(int[] array) {
    bool isIncreasing = true;
    bool isDecreasing = true;

    for (int i = 0; i < array.Length - 1; i++) {
        if (array[i] < array[i+1]) {
            isDecreasing = false;
        } else if (array[i] > array[i+1]) {
            isIncreasing = false;
        }
    }

    return isIncreasing || isDecreasing;
}
测试样例

为了验证以上方法的正确性,需要对其进行测试。以下是一些测试用例,分别包含了递增排序、递减排序和既不是递增排序也不是递减排序的情况:

assert(checkArray([1, 2, 3, 4, 5]) == true)
assert(checkArray([5, 4, 3, 2, 1]) == true)
assert(checkArray([1, 3, 5, 2, 4]) == false)
如何使用该函数

以上函数可以通过提供一个参数来使用,参数是要检查的数组。例如:

bool result = checkArray([1, 2, 3, 4, 5]);
总结

以上就是检查数组是否形成增减序列的方法和代码。虽然这是一个基础问题,但在实际开发中也很有用处。希望本文对大家有所帮助!