Jump to content

Sort an integer array: Difference between revisions

Add ed example
(Added Easylang)
(Add ed example)
Line 986:
[ 1 2 2 3 4 ]
</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}}==
49

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.