递归算法求数组中的最值

news2024/11/15 18:24:37

一、关于递归算法和一般算法

递归算法和一般算法相比,递归算法的思维量会大很多,不仅很难理解,用起来还容易出错,所以大家平时用一般算法就足够了。就拿今天我们要实现的“求数组中的最值”来举例吧,用一般算法一个循环直接搞定,但是用递归算法吧……反正我是代入具体的数据在草稿纸上演算了半天才搞明白函数的整个流程。

但你如果要问:那你为什么还要发这么一篇递归算法的博客?

那我只能回答:因为递归算法是数据结构第六章的内容。

二、函数实现

以下是函数的完整代码,如果你觉得不太好理解建议代入具体数值在草稿纸上一步一步推,跟着函数走一遍流程,整个过程就会很清晰了。

int Compare(int* arr,int i)//i为数组中元素的最大下标
{
	int min;
	if (i == 0)//若数组中只有一个元素,则直接返回该元素
		return arr[0];
	else
	{
		min = Compare(arr, i - 1);//递归调用
		if (min > arr[i])
			return arr[i];
		else
			return min;
	}
}

三、测试函数正确性

为了测试函数的正确性,我们再写一个主函数,代入具体数值进行测试。

int main()
{
	int arr1[] = {9,5,7,2,4};
	int arr2[] = { 1,1,1 };
	printf("%d\n", Compare(arr1,4));
	printf("%d", Compare(arr2,2));
	return 0;
}

四、运行结果

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/508859.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

用SD完美还原金庸小说名场面;产品经理用ChatGPT提效520倍;盘点13个SD最强模型;中国移动推出周杰伦数智人 | ShowMeAI日报

👀日报&周刊合集 | 🎡生产力工具与行业应用大全 | 🧡 点赞关注评论拜托啦! 🤖 『ChatGPT访问量再创新高』强势挑战谷歌、百度的霸主地位 SimilarWeb 的统计数据显示,ChatGPT 在4月份的全球访问量已经达…

Tektronix泰克TCP2020 AC/DC电流探头

特征: 20 ARMS 最大电流能力 100 A 峰值脉冲电流能力 10 毫安/毫伏灵敏度 BNC 输出连接到大多数示波器和其他测量 设备(需要 >100 kΩ 端接) 用于直流偏移调整的消磁按钮和指轮 由交流适配器供电 易于使用且准确的交流/直流电流测量 DC 至…

专业恢复电脑数据软件Easyrecovery16

Easyrecovery是一款强大的数据恢复软件,它专门解决磁盘数据恢复问题。在计算机世界里,数据丢失经常是一件令人头疼的事情,但是有了Easyrecovery,您可以放心大胆地享受数据备份和恢复的乐趣。 Easyrecovery具有快速和有效的数据恢复…

HBase:Hadoop生态系统中的分布式NoSQL数据库【上进小菜猪大数据系列】

📬📬我是上进小菜猪,沈工大软件工程专业,爱好敲代码,持续输出干货,欢迎关注。 Hadoop中的HBase: 分布式NoSQL数据库 在大数据时代,数据量的爆炸式增长对数据存储和处理能力提出了巨大的挑战。…

滋灌中小企业,分销伙伴和华为来做“送水人”

最近有个段子:第一批靠生成式AI赚大钱的人,既不是研发人员,也不是国内大厂,而是卖课的。 大家笑谈,每一轮新技术的掘金之路,最先致富的都是送水、卖铲子的。 这其实隐藏了一个信息技术产业的普遍规律&#…

Kali-linux目录加密

在Kali中提供了一个目录加密工具TrueCrypt。该工具是一款开源的绿色加密卷加密软件,不需要生成任何文件即可在硬盘上建立虚拟磁盘。用户可以按照盘符进行访问,所以虚拟磁盘上的文件都被自动加密,访问时需要使用密码解密。TrueCrypt提供多种加…

C语言简述、特点、常用编译器,VS2010写第一个C语言程序

今天来分享C语言的基础知识,以及怎么用VS2010写第一个C语言程序,话不多说,开始上菜: 此博主在CSDN发布的文章目录:我的CSDN目录,作为博主在CSDN上发布的文章类型导读 目录 1.程序语言简述2.C语言简述3.C语言…

『Vue组件』Web Components 原生组件化

在学习Vue插槽(Slots)之前,我们可以先对Web Components的概念进行一个了解。因为Vue的模板系统,组件实现以及插槽相关的实现是参考于Web Components标准进行的上层设计。 在Vue中通过自定义组件、自定义标签以及自定义属性配合使用…

c++注入dll调用call

1.先写个我们要调用的函数 #include<iostream> using namespace std; void test(int a, int& b) { cout << a << b << endl; b a b; }void main() { int a 2; int b0; test(a, b); cout << b << endl; system("pause");…

再鼎医药面临严重的监管和产品竞争风险

来源&#xff1a;猛兽财经 作者&#xff1a;猛兽财经 再鼎医药&#xff08;ZLAB&#xff09;是一家生物制药公司&#xff0c;致力于开发和商业化癌症和传染病的创新疗法。该公司的产品组合包括用于治疗卵巢癌的靶向药Zejula&#xff0c;用于治疗脑癌的Optune&#xff0c;用于治…

Eplan2022 复制已有的宏文件生成新的原理图宏文件

下图所示为wago的787-722稳压电源&#xff0c;我们可以从官网下载到相应的eplan宏文件并导入数据源库。但是能下载到eplan宏文件的只是少部分公司的部件。那么没有宏文件的部件该怎么办&#xff1f; 接下来以明纬开关电源 NDR-120-24为例&#xff0c;创建一个宏文件。选择【主数…

linux密码忘了?一招解决

目录 一、前言 二、进入编辑界面 三、单用户模式 四、修改密码 五、更新信息 六、退出 七、验证 一、前言 版本&#xff1a;centos7.9、VMware15.5 在我们学习linux运行级别的时候&#xff0c;面试题可能会出如何找回root密码&#xff0c;下面来详细的介绍一波&#xff…

Mysql索引+事务+存储引擎

索引 索引的概念 索引是一个排序的列表&#xff0c;在这个列表中存储着索引的值和包含这个值的数据所在行的物理地址&#xff08;类似于C语言的链表通过指针指向数据记录的内存地址&#xff09;。 使用索引后可以不用扫描全表来定位某行的数据&#xff0c;而是先通过索引表找…

day29_jdbc

今日内容 零、 复习昨日 一、JDBC 二、登录 三、ORM 零、 复习昨日 DDL (针对结构,库,表,列,索引) 最重要建表语句 create table emp(empno int primary key auto_increment,ename varchar(10) not null,sal double(10,2) default 3000,hiredate date unique )DML 增删改 inser…

TIA博途中FC和FB的区别与应用

TIA博途中FC和FB的区别与应用 从程序运行过程的角度看,FC、FB的区别在于传递参数方式不同: FC:通过L堆栈区传递参数 FB:通过背景DB传递参数 FC与FB具有不同的特性:  FC自身不能存储过程状态  FB可以通过静态变量存储中间过程状态  FB可以包含调用其他的FB及其背景D…

【Go编程语言】流程控制

流程控制 文章目录 流程控制一、if 语句1.if 嵌套语句 二、switch 语句三、for 循环四、string 程序的流程控制结构一具有三种&#xff1a;顺序结构&#xff0c;选择结构&#xff0c;循环结构 顺序结构&#xff1a;从上到下&#xff0c;逐行执行。默认的逻辑 选择结构&#xf…

C4D云渲染平台哪家好?

Cinema 4d&#xff08;简称C4D&#xff09;作为CG业内一款人人皆知的三维制作软件&#xff0c;操作界面简单清爽是它的亮点之一。此外&#xff0c;具有建模、灯光、材质、绑定、动画、渲染等强大功能的C4D的应用范围也十分广泛&#xff0c;包括电商海报、时尚设计、影视后期、广…

Java系统环境变量配置

PATH环境变量 PATH环境变量用于保存一系列命令&#xff08;可执行程序&#xff09;的路径&#xff0c;每个路径之间以分号分隔。当在命令行窗口运行一个命令时&#xff0c;操作系统首先会在当前目录下查找是否存在该命令对应的可执行文件&#xff0c;如果未找到&#xff0c;操作…

最新一键将网站DEDECMS 迁移到 WordPress脚本

DEDECMS宣布开始对运营类网站收费了,一年5800元,如果不想付费,那就需要转到其他网站了,就是一个不错的选择。 最近大神wordpress果酱牛逼闪闪的Denis和几个程序员制作了一个转Wordpress的,有需要的可以去下载使用,完全免费! 经过几个夜晚通宵的努力,我们终于搞定了一键…

开发必备,开源 or 免费的 AI 编程助手

AI 大模型的火热&#xff0c;让开发圈近来如虎添翼&#xff0c;各种各样基于 AI 技术的开发者工具和新范式不断涌现&#xff0c;尤其是 Github 和 OpenAI 共同推出的 Copilot X &#xff0c;更是一骑绝尘。本文推荐一些开源 or 免费的 AI 编程工具&#xff0c;不妨试着用起来。…