Реализации алгоритмов/Сортировка/Пирамидальная: различия между версиями
Содержимое удалено Содержимое добавлено
Строка 520:
== [[w:Perl|Perl]] ==
<big><source lang="perl">
@out=(6,4,2,8,5,3,1,6,8,4,3,2,7,9,1)
$N=@out+0;
if($N>1){
for my$i(0..$N-1){
▲ while ($sh+2!=$N)
▲ $b=undef;
{▼
}elsif($out[$i*2+ ▲ ($out[$i*2+1+$sh], $out[$i+$sh]) = ($out[$i+$sh], $out[$i*2+1+$sh]);
▲ if ($out[$i*2+2+$sh] lt $out[$i*2+1+$sh])
▲ ($out[$i*2+1+$sh], $out[$i*2+2+$sh]) = ($out[$i*2+2+$sh], $out[$i*2+1+$sh]);
▲ $b=1;
▲ if ($out[$i+$sh] gt $out[$i*2+1+$sh])
▲ ($out[$i+$sh], $out[$i*2+1+$sh]) = ($out[$i*2+1+$sh], $out[$i+$sh]);
▲ $b=1;
▲ }
if ($sh+2 == $N) {last;}▼
}
++$sh if!$b;
}
}
</source></big>
|