TOP 10

Z Wiki UnArt Slavičín
Skočit na navigaciSkočit na vyhledávání
:global x 0
:global myParent "wifi"
:global userBytes 0/0
:global users 0,0
:global userDownload 0
:global maxDownload 0,0
:global top 5
:global hArray1
:global hArray2
:global a
:global b
:global c
:global d
:global hInt


/queue simple

foreach i in=[find] do={
if ([get $i parent]=$myParent) do={
set userBytes [get $i bytes];
local slashPosition [:find $userBytes /];
set userDownload [:pick $userBytes ($slashPosition+1) [:len $userBytes]];
set users ($users + $x)
set maxDownload ($maxDownload + $userDownload)


set hArray1 $maxDownload
set hArray2 $users
for i from 0 to=([:len $maxDownload]-2) do={
for j from ($i+1) to=([:len $maxDownload]-1) do={
set hArray1 0;
set hArray2 0;
set a [:pick $maxDownload $i ($i+1)];
set b [:pick $maxDownload $j ($j+1)];
set c [:pick $users $i ($i+1)];
set d [:pick $users $j ($j+1)];
if ($a<$b) do={
set hInt $a;
set a $b;
set b $hInt;
set hInt $c;
set c $d;
set d $hInt;

}

set hArray1 ([:pick $maxDownload 0 $i] + $a);
set hArray2 ([:pick $users 0 $i] + $c);
if (($i+1)<$j) do={
set hArray1 ($hArray1 + [:pick $maxDownload ($i+1) $j]);
set hArray2 ($hArray2 + [:pick $users ($i+1) $j]);

}

set hArray1 ($hArray1 + $b);
set hArray2 ($hArray2 + $d);
if (($j+1)<[:len $maxDownload]) do={
set hArray1 ($hArray1 + [:pick $maxDownload ($j+1) ([:len $maxDownload])])
set hArray2 ($hArray2 + [:pick $users ($j+1) ([:len $users])])

}

set maxDownload $hArray1
set users $hArray2

} }

set maxDownload [:pick $maxDownload 0 $top]
set users [:pick $users 0 $top]

}

set x ($x+1);

}