Sort an integer array: Difference between revisions
Content added Content deleted
(Added Easylang) |
(Add ed example) |
||
Line 986: | Line 986: | ||
[ 1 2 2 3 4 ] |
[ 1 2 2 3 4 ] |
||
</pre> |
</pre> |
||
=={{header|Ed}}== |
|||
Input numbers as comma/space/tab/newline separated integers. |
|||
<syntaxhighlight> |
|||
H |
|||
# split comma/space/tab separated values |
|||
g/\b[[:space:]]*[,[:space:]][[:space:]]*\b/s//\ |
|||
/g |
|||
# ,p |
|||
g/(.*)0([0-9]{3})/s//\1\2/ |
|||
g/(.*)1([0-9]{3})/s//\1m\2/ |
|||
g/(.*)2([0-9]{3})/s//\1mm\2/ |
|||
g/(.*)3([0-9]{3})/s//\1mmm\2/ |
|||
g/(.*)4([0-9]{3})/s//\1mmmm\2/ |
|||
g/(.*)5([0-9]{3})/s//\1mmmmm\2/ |
|||
g/(.*)6([0-9]{3})/s//\1mmmmmm\2/ |
|||
g/(.*)7([0-9]{3})/s//\1mmmmmmm\2/ |
|||
g/(.*)8([0-9]{3})/s//\1mmmmmmmm\2/ |
|||
g/(.*)9([0-9]{3})/s//\1mmmmmmmmm\2/ |
|||
g/(.*)0([0-9]{2})/s//\1\2/ |
|||
g/(.*)1([0-9]{2})/s//\1c\2/ |
|||
g/(.*)2([0-9]{2})/s//\1cc\2/ |
|||
g/(.*)3([0-9]{2})/s//\1ccc\2/ |
|||
g/(.*)4([0-9]{2})/s//\1cccc\2/ |
|||
g/(.*)5([0-9]{2})/s//\1ccccc\2/ |
|||
g/(.*)6([0-9]{2})/s//\1cccccc\2/ |
|||
g/(.*)7([0-9]{2})/s//\1ccccccc\2/ |
|||
g/(.*)8([0-9]{2})/s//\1cccccccc\2/ |
|||
g/(.*)9([0-9]{2})/s//\1ccccccccc\2/ |
|||
g/(.*)0([0-9])/s//\1\2/ |
|||
g/(.*)1([0-9])/s//\1x\2/ |
|||
g/(.*)2([0-9])/s//\1xx\2/ |
|||
g/(.*)3([0-9])/s//\1xxx\2/ |
|||
g/(.*)4([0-9])/s//\1xxxx\2/ |
|||
g/(.*)5([0-9])/s//\1xxxxx\2/ |
|||
g/(.*)6([0-9])/s//\1xxxxxx\2/ |
|||
g/(.*)7([0-9])/s//\1xxxxxxx\2/ |
|||
g/(.*)8([0-9])/s//\1xxxxxxxx\2/ |
|||
g/(.*)9([0-9])/s//\1xxxxxxxxx\2/ |
|||
g/(.*)0/s//\1/ |
|||
g/(.*)1/s//\1i/ |
|||
g/(.*)2/s//\1ii/ |
|||
g/(.*)3/s//\1iii/ |
|||
g/(.*)4/s//\1iiii/ |
|||
g/(.*)5/s//\1iiiii/ |
|||
g/(.*)6/s//\1iiiiii/ |
|||
g/(.*)7/s//\1iiiiiii/ |
|||
g/(.*)8/s//\1iiiiiiii/ |
|||
g/(.*)9/s//\1iiiiiiiii/ |
|||
g/m/s//iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii/g |
|||
g/c/s//iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii/g |
|||
g/x/s//iiiiiiiiii/g |
|||
# actual logic |
|||
g/.*/s// &/ |
|||
,j |
|||
g/^[ ]/s/// |
|||
s/\b((i+)i+)[ ]\2\b/\2 \1/g |
|||
s//\2 \1/g |
|||
s//\2 \1/g |
|||
s//\2 \1/g |
|||
s//\2 \1/g |
|||
s//\2 \1/g |
|||
s//\2 \1/g |
|||
s//\2 \1/g |
|||
s/[ ]/\ |
|||
/g |
|||
g/^$/d |
|||
# unary -> decimal (for 0-10000 range) |
|||
g/i{9000}(i{0,999})/s//9\1/ |
|||
g/i{8000}(i{0,999})/s//8\1/ |
|||
g/i{7000}(i{0,999})/s//7\1/ |
|||
g/i{6000}(i{0,999})/s//6\1/ |
|||
g/i{5000}(i{0,999})/s//5\1/ |
|||
g/i{4000}(i{0,999})/s//4\1/ |
|||
g/i{3000}(i{0,999})/s//3\1/ |
|||
g/i{2000}(i{0,999})/s//2\1/ |
|||
g/i{1000}(i{0,999})/s//1\1/ |
|||
v/^[0-9]i*$/s/.*/0&/ |
|||
g/i{900}(i{0,99})/s//9\1/ |
|||
g/i{800}(i{0,99})/s//8\1/ |
|||
g/i{700}(i{0,99})/s//7\1/ |
|||
g/i{600}(i{0,99})/s//6\1/ |
|||
g/i{500}(i{0,99})/s//5\1/ |
|||
g/i{400}(i{0,99})/s//4\1/ |
|||
g/i{300}(i{0,99})/s//3\1/ |
|||
g/i{200}(i{0,99})/s//2\1/ |
|||
g/i{100}(i{0,99})/s//1\1/ |
|||
v/^[0-9]{2}i*$/s/^([0-9])(i*)$/\10\2/ |
|||
g/i{90}(i{0,9})/s//9\1/ |
|||
g/i{80}(i{0,9})/s//8\1/ |
|||
g/i{70}(i{0,9})/s//7\1/ |
|||
g/i{60}(i{0,9})/s//6\1/ |
|||
g/i{50}(i{0,9})/s//5\1/ |
|||
g/i{40}(i{0,9})/s//4\1/ |
|||
g/i{30}(i{0,9})/s//3\1/ |
|||
g/i{20}(i{0,9})/s//2\1/ |
|||
g/i{10}(i{0,9})/s//1\1/ |
|||
v/^[0-9]{3}i*$/s/^([0-9]{2})(i*)$/\10\2/ |
|||
g/i{9}/s//9/ |
|||
g/i{8}/s//8/ |
|||
g/i{7}/s//7/ |
|||
g/i{6}/s//6/ |
|||
g/i{5}/s//5/ |
|||
g/i{4}/s//4/ |
|||
g/i{3}/s//3/ |
|||
g/i{2}/s//2/ |
|||
g/i{1}/s//1/ |
|||
v/^[0-9]{4}i*$/s/^([0-9]{3})(i*)$/\10\2/ |
|||
g/0+([0-9])/s//\1/ |
|||
,p |
|||
Q |
|||
</syntaxhighlight> |
|||
=={{header|EGL}}== |
=={{header|EGL}}== |