找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1011|回复: 5
收起左侧

C语言数组如何计算每次缓存区里最大值之间隔多少个数?

[复制链接]
ID:709761 发表于 2022-3-4 08:57 | 显示全部楼层 |阅读模式
第一次缓存数组char r[6]={1,1,1,3,1,2};    最大值3 下标3。第2次缓存数组char r[6]={1,3,1,5,1,2};      最大值5 下标3。
第3次缓存数组char r[6]={1,8,1,4,1,2};      最大值8 下标1。


第一次最大值和第二次最大值 之间隔3个数。
第2次最大值和第3次最大值 之间隔5个数。

有没有好的算法计算出来。

回复

使用道具 举报

ID:123289 发表于 2022-3-4 13:47 | 显示全部楼层
你的描述方式已经是最好了,清晰、正确:
1、找出最大值。
2、确定最大值在本组的位置。
3、计算与相邻组最大值的距离。
没毛病。
有何方式能跳出此圏吗?
回复

使用道具 举报

ID:415064 发表于 2022-3-4 14:11 | 显示全部楼层
第一次和第二次隔的是12131   第二次和第三次隔得是121吧
回复

使用道具 举报

ID:415064 发表于 2022-3-4 14:14 | 显示全部楼层
6减上一个的下标 + 新的下标,然后更新下标
回复

使用道具 举报

ID:311903 发表于 2022-3-4 14:36 | 显示全部楼层
首先,这两个逻辑关系是怎样算出来的,你知道这个逻辑关系,代码就可以实现

“第一次最大值和第二次最大值 之间隔3个数。
第2次最大值和第3次最大值 之间隔5个数。”
回复

使用道具 举报

ID:311903 发表于 2022-3-4 14:39 | 显示全部楼层
你这个如果是这样

第一次最大值和第二次最大值 之间隔5个数。
第2次最大值和第3次最大值 之间隔3个数。

那就很简单,就是一个类似循环fifo的思想,计算头尾之间相差多少就可以了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表