| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1050 人关注过本帖
标题:请问大神 如何实现 两个txt文件一行与多行比较相同数字个数
只看楼主 加入收藏
随机概率
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2016-11-14
结帖率:0
收藏
已结贴  问题点数:20 回复次数:4 
请问大神 如何实现 两个txt文件一行与多行比较相同数字个数
AA.txt                        BB.txt
1 2 3 4 5 6                   5 6 7  8 9 20
1 2 3 4 5 7                   2 7 9  6 4 10
1 2 3 4 5 8                   1 3 5  7 9 30
。。。。。。                  。。。。。。
。。。。。。                  。。。。。。
。。。。。。                  。。。。。。
总共1400万行                1000行

BB.txt 里的第1行,与AA.txt中1400万行比较,依次获得每行相同数字的个数。生成一列1400行的数列,输出为1.txt 文本
BB.txt 里的第2行,与AA.txt中1400万行比较,依次获得每行相同数字的个数。生成一列1400行的数列,输出为2.txt 文本
BB.txt 里的第3行,与AA.txt中1400万行比较,依次获得每行相同数字的个数。生成一列1400行的数列,输出为3.txt 文本
........
.........
.........
BB.txt 里的第1000行,与AA.txt中1400万行比较,依次获得每行相同数字的个数。生成一列1400行的数列,输出为1000.txt 文本
图片附件: 游客没有浏览图片的权限,请 登录注册
搜索更多相关主题的帖子: 如何 
2016-11-14 15:12
azzbcc
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江西财经大学
等 级:贵宾
威 望:81
帖 子:3293
专家分:12919
注 册:2012-11-4
收藏
得分:7 
数据有规律吗?

是生成1400w行吧



[fly]存在即是合理[/fly]
2016-11-14 15:27
袁小旭
Rank: 2
等 级:论坛游民
帖 子:11
专家分:32
注 册:2016-11-14
收藏
得分:7 
以下只是简单思路,具体编码时可以合理设计一下,尽量减少循环次数

设计一个链表结构,提供创建、插入、查询、销毁的接口(插入用尾插法)
如:struct Value {
    int member[1024];
    int memberNum[1024];
    int num;
};//亦可以改成双层链表

while(循环读取bb中的每一行)
{
    分配一个 struct Value* 型的节点 node;
    while(循环解析出一行内所有数)
    {
         //解析出的数 n
        (循环遍历 node下member)
        {
            if(n 在member中已存在)
            {   
                对应memberNum计数加一
            }
            else
                在末尾添加新元素(也可以排序),并把相应memberNum置一
        }
    }
    插入节点 node
}

int fileSeq= 1;
while(循环读取aa中的每一行)
{
    打开一个文件fp,文件名根据fileSeq命名
    while(循环解析出一行内所有数)
    {
         //解析出的数 n
        遍历链表中每个节点node
        在node中遍历member
        找到对应数则取出对应memberNum中数字往fp中写入一行,否则往fp写入0作为一行
    }

    close fp
   fileSeq += 1;
}
2016-11-14 15:57
书生牛犊
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:星夜征程
等 级:贵宾
威 望:10
帖 子:1101
专家分:5265
注 册:2015-10-27
收藏
得分:7 
1.两个文件中的数字,最大有多大知不知道?会不会超过int、long、longlong的最大长度?有没有负数,小数?
2.两个文件中的每行数字是不是有序的?如果无序,,,算法复杂度会高到另一个境界。给我做我会想用一个程序把AA.txt和BB.txt先分别每行排序一下,生成两个有序的文件A.txt和B.txt,然后执行比较)

对于A.txt和B.txt中各取一行数据,每次比较就像处理有序链表一样,分别取一个数字判断是否相等,不相等,小的继续往右读数;相等,+1,都继续往右读数;直到其中某个读到行末,输出相等的个数。

继续A.txt的下一行数据。。。

3.算法上我只想到这个方法,不知道还有没有更方便的方法。


[此贴子已经被作者于2016-11-14 16:09编辑过]


φ(゜▽゜*)♪
2016-11-14 16:07
书生牛犊
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:星夜征程
等 级:贵宾
威 望:10
帖 子:1101
专家分:5265
注 册:2015-10-27
收藏
得分:0 
援引:
http://bbs.bccn.net/thread-471115-1-1.html
。。。程序供求问题。。看来不是计算机专业的学生。。。大家有兴趣的估计得用心些解决实际问题。。。



φ(゜▽゜*)♪
2016-11-14 16:39
快速回复:请问大神 如何实现 两个txt文件一行与多行比较相同数字个数
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.134640 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved