| |
|
|
p.specht
| proc QuickSortUp11400en3sec :parámetros a![]:declarar n&,p&,l&,r&,s&,sl&[],sr&[],w! declarar x!,i&,j&:n&=sizeof(a![]):s&=1:sl&[1]=0:sr&[1]=n&-1 mientras que s&>0:l&=sl&[s&]:r&=sr&[s&]:s&=s&-1:mientras que l&<r&:i&=l&:j&=r&:p&=(l&+r&)\2 if a![l&]>a![p&]:w!=a![l&]:a![l&]=a![p&]:a![p&]=w!:endif if a![l&]>a![r&]:w!=a![l&]:a![l&]=a![r&]:a![r&]=w!:endif if a![p&]>a![r&]:w!=a![p&]:a![p&]=a![r&]:a![r&]=w!:endif:x!=a![p&] mientras que i&<=j&:mientras que a![i&]<x!:inc i&:endwhile:mientras que x!<a![j&]:dec j&:endwhile if i&<=j&:w!=a![i&]:a![i&]=a![j&]:a![j&]=w!:inc i&:dec j&:endif:endwhile if (j&-l&)<(r&-i&):if i&<r&:inc s&:sl&[s&]=i&:sr&[s&]=r&:endif:r&=j&:más if l&<j&:inc s&:sl&[s&]=l&:sr&[s&]=j&:endif:l&=i&:endif:endwhile:endwhile ENDPROC
proc QuickSortDwn11000en3sec :parámetros a![]:declarar n&,p&,l&,r&,s&,sl&[],sr&[],w! declarar x!,i&,j&:n&=sizeof(a![]):s&=1:sl&[1]=0:sr&[1]=n&-1 mientras que s&:l&=sl&[s&]:r&=sr&[s&]:s&=s&-1:mientras que l&<r&:i&=l&:j&=r&:p&=(l&+r&)\2 if a![l&]>a![p&]:w!=a![l&]:a![l&]=a![p&]:a![p&]=w!:endif if a![l&]>a![r&]:w!=a![l&]:a![l&]=a![r&]:a![r&]=w!:endif if a![p&]>a![r&]:w!=a![p&]:a![p&]=a![r&]:a![r&]=w!:endif:x!=a![p&] mientras que i&<=j&:mientras que a![i&]>x!:inc i&:endwhile:mientras que x!>a![j&]:dec j&:endwhile if i&<=j&:w!=a![i&]:a![i&]=a![j&]:a![j&]=w!:inc i&:dec j&:endif:endwhile if (j&-l&)<(r&-i&):if i&<r&:inc s&:sl&[s&]=i&:sr&[s&]=r&:endif:r&=j&:más if l&<j&:inc s&:sl&[s&]=l&:sr&[s&]=j&:endif:l&=i&:endif:endwhile:endwhile ENDPROC |
|
|
| Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'... | 15.05.2021 ▲ |
|
|
|