Warning: chmod(): Operation not permitted in /var/www/hopeinstoughton_www/wp-content/plugins/simple-universal-google-analytics/main.php on line 8 [0] in function chmod in /var/www/hopeinstoughton_www/wp-content/plugins/simple-universal-google-analytics/main.php on line 8 [1] in function include_once in /var/www/hopeinstoughton_www/wp-settings.php on line 560 [2] in function require_once in /var/www/hopeinstoughton_www/wp-config.php on line 85 [3] in function require_once in /var/www/hopeinstoughton_www/wp-load.php on line 50 [4] in function require_once in /var/www/hopeinstoughton_www/wp-blog-header.php on line 13 [5] in function require in /var/www/hopeinstoughton_www/index.php on line 17
| Server IP : 94.177.8.99 / Your IP : 216.73.217.165 Web Server : Apache/2.4.58 (Ubuntu) System : Linux aries 6.8.0-134-generic #134-Ubuntu SMP PREEMPT_DYNAMIC Fri Jun 26 18:43:11 UTC 2026 x86_64 User : www-data ( 33) PHP Version : 8.1.34 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /usr/share/doc/mawk/examples/ |
Upload File : |
#!/usr/bin/mawk -f
# $MawkId: qsort.awk,v 1.4 2020/09/19 14:20:45 tom Exp $
# qsort text files
function middle(x,y,z) #return middle of 3
{
if ( x <= y )
{ if ( z >= y ) return y
if ( z < x ) return x
return z
}
if ( z >= x ) return x
if ( z < y ) return y
return z
}
function isort(A , n, i, j, hold)
{
# if needed a sentinel at A[0] will be created
for( i = 2 ; i <= n ; i++)
{
hold = A[ j = i ]
while ( A[j-1] > hold )
{ j-- ; A[j+1] = A[j] }
A[j] = hold
}
}
# recursive quicksort
function qsort(A, left, right ,i , j, pivot, hold)
{
pivot = middle(A[left], A[int((left+right)/2)], A[right])
i = left
j = right
while ( i <= j )
{
while ( A[i] < pivot ) i++
while ( A[j] > pivot ) j--
if ( i <= j )
{ hold = A[i]
A[i++] = A[j]
A[j--] = hold
}
}
if ( j - left > BLOCK ) qsort(A,left,j)
if ( right - i > BLOCK ) qsort(A,i,right)
}
BEGIN { BLOCK = 5 }
{ line[NR] = $0 "" # sort as string
}
END {
if ( NR > BLOCK ) qsort(line, 1, NR)
isort(line, NR)
for(ie = 1 ; ie <= NR ; ie++) print line[ie]
}