找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2196|回复: 9
打印 上一主题 下一主题
收起左侧

C语言如何数据快速筛选?

[复制链接]
回帖奖励 20 黑币 回复本帖可获得 1 黑币奖励! 每人限 1 次(中奖概率 50%)
跳转到指定楼层
楼主
ID:415064 发表于 2021-7-28 18:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
假设数据4096个,每一个数据包含x和y。如何快速筛选出Y小于miny且在Y左右一定数值内X都小于minx
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:883242 发表于 2021-7-28 19:40 | 只看该作者
除了遍历,没有别的办法。当然你可以提供现行代码让网友帮你优化,你这么空口白牙的说,别人都不知道你选出来的数据怎么用。
回复

使用道具 举报

板凳
ID:401564 发表于 2021-7-28 19:50 | 只看该作者
如果是应用于单片机,一个一个的查找比较就可以了
在单片机方面,很多的时候并不要求速度的
回复

使用道具 举报

地板
ID:951194 发表于 2021-7-28 19:56 | 只看该作者
遍历每个数筛选吧
回复

使用道具 举报

5#
ID:452950 发表于 2021-7-28 20:45 | 只看该作者
具体问题具体分析,你这些数据可以按照某些规律来分类,找一找X和Y的内在联系,先筛选更大概率符合条件的数据组
回复

使用道具 举报

6#
ID:81196 发表于 2021-7-29 08:46 | 只看该作者
这个不只是筛查,还有比较大小,数据少的话,先排序后比较,但是由于你这多,排序时间可能比遍历的时间都长,所以直接遍历查找就行
回复

使用道具 举报

7#
ID:844772 发表于 2021-7-29 09:37 | 只看该作者
说实话没太明白楼主需要什么,如果数据多,是动态的,还要多次筛选,那你这就不是单片机的事吧?因为你这是双列的筛选,应该建立索引,简单点就前二叉树递归筛,复杂的还有根据要求优化。
回复

使用道具 举报

8#
ID:386001 发表于 2021-7-29 10:19 | 只看该作者
总体来说,数据筛选都是要经过一个遍历的,只不过吧,对于不同的数据,可以用不同的算法来加快数据筛选的速度
回复

使用道具 举报

9#
ID:123289 发表于 2021-7-29 18:00 | 只看该作者
如果数据是排了序的,可以用对分法,或黄金分割法查找。
如果数据是无序的,只有依次查找。
所以数据存储就应该有讲究。
回复

使用道具 举报

10#
ID:954677 发表于 2021-7-29 19:07 | 只看该作者
遍历
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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