Run-length encoding: Difference between revisions

Added 11l
(Added 11l)
Line 17:
Note: the encoding step in the above example is the same as a step of the [[Look-and-say sequence]].
<br><br>
 
=={{header|11l}}==
{{trans|Python}}
 
<lang 11l>F encode(input_string)
V count = 1
V prev = Char("\0")
[(Char, Int)] lst
L(character) input_string
I character != prev
I prev != Char("\0")
lst.append((prev, count))
count = 1
prev = character
E
count++
lst.append((input_string.last, count))
R lst
 
F decode(lst)
V q = ‘’
L(character, count) lst
q ‘’= character * count
R q
 
V value = encode(‘aaaaahhhhhhmmmmmmmuiiiiiiiaaaaaa’)
print(‘Encoded value is ’value.map(v -> String(v[1])‘’v[0]))
print(‘Decoded value is ’decode(value))</lang>
 
{{out}}
<pre>
Encoded value is [5a, 6h, 7m, 1u, 7i, 6a]
Decoded value is aaaaahhhhhhmmmmmmmuiiiiiiiaaaaaa
</pre>
 
=={{header|Ada}}==
1,481

edits