作者knep ((cynical.))
看板perl
标题Re: [问题] 两笔档案比对
时间Sat May 6 02:44:46 2006
※ 引述《abliou (Art of Life)》之铭言:
: ※ 引述《knep ((cynical.))》之铭言:
: : 建议你可以用 hash 来做,
: : 如果以这个例子, 总共要比对 5*4 次; 用 hash 只要 5+4 次就可以了.
: 请问一下用hash比对的概念是怎样??
: 刚刚看到c版友用到hash写...不过我看不太懂...
: 很对不起我是初学者....
: 行的话可以请你指点一下整个概念吗??
那小弟就先帮 c 板友写个注解好了 XD
你应该要先知道杂凑 (hash) 是一个键 (key) 对应一个值 (value) 的资料结构.
※ 引述《cutecpu (可爱中央处理器)》之铭言:
: open F1,"<./ok1/NNcontact1.txt";
# 将整个 NNcontact1.txt 一行一行的读进程式中
# 每一行都当作一个 key 存入杂凑 hash 中, 并将值设为 1.
: $hash{$line}++ while(chomp($line=<F1>));
: close F1;
: open F2,"<./ok2/NNcontact1.txt";
# 一行一行的读入 NNcontact1.txt
# 如果该 key 已经存在, 就帮 $cnt 加 1.
: $cnt+=$hash{$line}?1:0 while(chomp($line=<F2>));
: close F2;
: print "$cnt\n";
大概是这样~
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.162.118.129
1F:推 abliou:谢谢!!! 05/06 02:50
2F:→ abliou:原来如此..!!! 05/06 02:51