Kiss Gabor wrote:
> In article <[EMAIL PROTECTED]>,
> =?UTF-8?B?RmFyYWfDsyBKw6Fub3M=?= <[EMAIL PROTECTED]> writes:
>> Ez szerintem gyorsabb lesz:
>>
>> for ($i=0; $i<$n; $i+=3 )
>> {
>> $x = $tomb[$i];
>> $tomb[$i] = $tomb[$i+2];
>> $tomb[$i+2] = $x;
>> }
>
> 4.5 masodperc. :-/
Ez érdekes. Írtam egy kis tesztprogramot a feladatra (elküldöm
magánban). Az általad írt és a fenti megoldás van benne (plusz egy
adatfeltöltés).
A lényegi része a következő:
sub t1()
{
my $i;
my $x;
for ( $i=0; $i<$bnum; $i+=3 )
{
$x = $array[$i];
$array[$i] = $array[$i+2];
$array[$i+2] = $x;
}
}
sub t2()
{
$str =~ s/(.)(.)(.)/$3$2$1/g;
}
A progi szerint a tömbös megoldás kb. 2-ször gyorsabb (az én gépemen).
(Az persze könnyen meglehet, hogy a tesztprogram nem jó modellezi a
feladatot.)
Üdv
Fari
_________________________________________________
linux lista - [email protected]
http://mlf2.linux.rulez.org/mailman/listinfo/linux