数组 – 保留在Perl中使用Tree :: Trie找到的关键字的顺序

数组 – 保留在Perl中使用Tree :: Trie找到的关键字的顺序,第1张

概述我正在使用 Tree::Trie模块来构建关键字树.我想按原始数组中的顺序打印数组的元素. use strict;use warnings;use Tree::Trie;my @ar = ('foo', 'great','food', 'banana','apple', 'fish');my ($trie) = new Tree::Trie;$trie->add(@ar);my 我正在使用 Tree::Trie模块来构建关键字树.我想按原始数组中的顺序打印数组的元素.

use strict;use warnings;use Tree::TrIE;my @ar = ('foo','great','food','banana','apple','fish');my ($trIE) = new Tree::TrIE;$trIE->add(@ar);my @ms  = $trIE->lookup('f');print join(",",@ms);

输出是

fish,foo,food

期望的输出

foo,food,fish

有人可以帮助我吗?

解决方法 另一种选择是使用Tree :: TrIE的add_data,它可以将您的单词带到订单数据,如下所示:

'foo' => 0,'great' => 1,'food' => 2,'banana' => 3,'apple' => 4,'fish' => 5

并在lookup_data之后返回带有相关数据的单词.然后,该数据可用于保留原始单词顺序:

use strict;use warnings;use Tree::TrIE;my @ar = qw( foo great food banana apple fish );my $trIE = Tree::TrIE->new();$trIE->add_data( map { $ar[$_] => $_ } 0..$#ar );my %ms = $trIE->lookup_data('f');my @ms = sort { $ms{$a} <=> $ms{$b} } keys(%ms);print(join(',',@ms),"\n");

输出:

foo,fish
总结

以上是内存溢出为你收集整理的数组 – 保留在Perl中使用Tree :: Trie找到的关键字的顺序全部内容,希望文章能够帮你解决数组 – 保留在Perl中使用Tree :: Trie找到的关键字的顺序所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1213209.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存