用递归算法判断一个数组是否递增

本题要求使用递归算法,设数组为array,则递归数组满足以下条件。
(1)如果数组长度为1,则该数组为递增,返回true。
(2)如果数组长度为n(n >= 2),则先比较最后两个元素是否递增,如果最后两个元素递增,则再递归比较除去最后一个元素的前 n-1 个元素是否递增。

具体实现如下:

#include <iostream>

bool IsIncrease(int arr[],int len)
{
    if (len == 1)
        return true;

    return (arr[len - 2] <= arr[len - 1]) && IsIncrease(arr, len-1);

}

int main(int argc, const char * argv[]) {

    int arr[] = {1,2,3,4,5,6,7};
    int len = sizeof(arr)/sizeof(int);

    if (IsIncrease(arr, len))
        printf("arr是递增数组\n");
    else
        printf("arr不是递增数组\n");

    return 0;
}

输出如下:
《用递归算法判断一个数组是否递增》

    原文作者:递归算法
    原文地址: https://blog.csdn.net/cyuyanenen/article/details/51741626
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞