-2
我想查找節點之間最近的距離。查找節點之間最近的距離
這是我的示例數據:
節點,X,Y
1, 3, 5 2, 6, 9 3, 13, 15 4, 16, 20 5, 30, 50
作爲一個例子,從節點1到節點2的5最近距離我想找到從最近距離所有節點都作爲節點2,3,4,5。
我該如何在Perl中實現這個功能?
這是我到目前爲止有:
use strict;
use warnings;
use Data::Dumper;
open(IN , "<" , "sample.txt") or die "Can't open this file.";
my @two_dimentional_array;
while (my $line=<IN>)
{
my @arr_line=split (" *, *" , $line);
my @one_dimentional_array;
push @one_dimentional_array , @arr_line;
push @two_dimentional_array, [@arr_line];
}
for(my $i=0 ; $i<=$#two_dimentional_array ; $i++)
{
my ($n_1 , $X_1 , $y_1)[email protected]{$two_dimentional_array[$i]};
for (my $j=0 ; $j<=$#two_dimentional_array ; $j++)
{
my ($n_2 , $X_2 , $y_2)[email protected]{$two_dimentional_array[$j]};
chomp($y_1);
chomp($y_2);
if($n_1 != $n_2)
{
my $distance=sqrt(($X_2-$X_1)**2 + ($y_2-$y_1)**2);
print "Distance ".$distance." from node ".$n_1." to node ".$n_2."\n";
}
}
}
#print Dumper(\@two_dimentional_array);
先生,我想使用哈希的話,我怎麼能impliment呢? – 2012-08-11 06:57:47
@FaisalHashmi:你爲什麼要使用散列? – Borodin 2012-08-11 19:38:54