【C++笔试题】递归判断数组是否是递增数组

递归判断长度为N的数组是不是递增数组。递归方法:记录最大的值,如果比这个值大,则继续,否则终止.

递归三部曲:

1. 明确递归函数的参数和返回值。(个人理解:注意参数已经更新)

2.明确终止条件

3.明确单层递归的逻辑

1.递归参数和返回值

这里参数已经给出,所以我们要明确的是,参数更新的逻辑

下一次传入的参数应该是N-1

所以返回值:

一个是递归函数fun(a, N - 1)

另一个是大小判断逻辑。

2.终止条件:

cpp 复制代码
if (N <= 1) {
    return true; // 只有一个元素,天然有序,停止递归
}

3.单层递归的逻辑:

检查数组最后两个元素之间的大小关系

cpp 复制代码
a[N-1] > a[N-2]

4. 总结:

  • 怎么变? (N 减小)

  • 啥时停? (N <= 1)

  • 当下干啥? (比较最后两个数)

cpp 复制代码
bool fun(int a[], int N) {
    if (N <= 1) {
        return true;
    }
    return fun(a, N - 1) && (a[N-1] > a[N-2]);
}
相关推荐
波力海苔夹心脆6754 分钟前
C# 机器视觉实战:单相机引导机械手精准贴合,从拍照、偏差计算(平移+旋转)到坐标补偿全解
开发语言·经验分享·数码相机·c#·视觉检测·.net
外收内放22 分钟前
Python基础语法练习题(62原始版本及其优化版本)
开发语言·python
马剑威(威哥爱编程)24 分钟前
【AI全栈后端12-12】Spring Boot 3.x 到 4.x 迁移实操:Jakarta 11、Jackson 3 与 AI 2.0
java·开发语言·spring boot·后端
三月微暖寻春笋34 分钟前
【和春笋一起学C++】(七十二)类模板
开发语言·c++·实例·类模板·使用类模板·数组模板
xlq2232234 分钟前
全面复习4
c++
释厄62338 分钟前
智能体释放度子集律——文本 ⊂ 音频 ⊂ 视频⊂ 游戏
开发语言·游戏·microsoft·音视频
殷色玫瑰1 小时前
C++ STL:map 与 set 详解——从底层红黑树到实际应用
c语言·数据结构·c++·算法·visualstudio·rpc
Sarvartha1 小时前
Object 类
java·开发语言
Tri_Function1 小时前
背包:从入门到实战
c++
j7~1 小时前
【C++ 标准项目】发布订阅消息队列 (篇七):项目创建与基础工具模块搭建
开发语言·c++·log4j·uuid·protobuf·helper工具·消息定义类型和交换机类型定义