编写Perl程序实现双序列比对的,要用顺序比对算法

 我来答
fly_height
2011-06-27 · 超过38用户采纳过TA的回答
知道小有建树答主
回答量:124
采纳率:0%
帮助的人:70.9万
展开全部
咯,确实没懂,不过用perl排序还是比较容易的。如下:
如三行三列数据分别为id name age:
1 wang 20
2 zeng 21
3 cheng 18
比如数据的文件名为t1.txt可以进行如下操作:
open (FH ,"t1.txt") or die print "error $!" ;
my @all= <FH>;
my @alldata;
foreach(0..$#all)
{
my @row = split " " , $all[$_];
my %rowdata;
$rowdata{"id"} = $row[0];
$rowdata{"name"} = $row[1] ;
$rowdata{"age"} = $row[2] ;
$alldata[$_] = \%r;
}
@alldata = {$rowdata{$a}<=>$rowdata{$b}}@alldata; #然后对得到哈希数组进行排序:
#然后输出:
foreach(@alldata )
{
print $_->{"id"},"\t",$_->{"name"},"\t",$_->{"age"},"\n";
}
#===================
#或者参考下面.
my @line;
while(<>)
{
chomp;
push @line, [ split ];
}
foreach ( sort { $a->[0] <=> $b->[0] or $a->[1] <=> $b->[1] or $a->[2] <=> $b->[2] } @line)
{
print @$_, "\n";
}
havent_bao
2011-07-06 · 超过19用户采纳过TA的回答
知道答主
回答量:132
采纳率:100%
帮助的人:66.2万
展开全部
好同志!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
计名pS
2011-06-23 · TA获得超过3649个赞
知道大有可为答主
回答量:4189
采纳率:0%
帮助的人:2200万
展开全部
没懂,举例~~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式