#!perl
chomp, /^\[([^]]*)\]$/ ? $group = $1 : ($member_of{$group} = join("\0", $member_of{$group}, $_), push @{$group_of{$_}},\$member_of{$group} ) while (<DATA>); while (<STDIN>) { chomp; print "group: ". ${$_} . "\n" foreach ( @{$group_of{$_}}); } __DATA__ [group1] tom jack sally bill [group2] vito pita mike [group3] vito1 pita mike2
|
前段时间一直比较忙,没时间写脚本,现在终于有点时间了,先写一个简单的玩玩。
这个脚本的功能是输入一个人的名字后,可以打印出与它组的所有人的名字,一个人可以在不同的组中出现,这时打印所有包含它的组。
主要的算法就是建立每个人名到它所属组的列表的hash。
阅读(541) | 评论(0) | 转发(0) |