Run-length encoding: Difference between revisions
Added 11l
Alextretyak (talk | contribs) (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}}==
|