Burrows–Wheeler transform: Difference between revisions

Content added Content deleted
(→‎{{header|Perl 6}}: Remove some unnecessary variables)
(→‎{{header|Perl 6}}: Duh. thinko)
Line 349: Line 349:
sub ɯɹoɟsuɐɹʇ (Str $s) {
sub ɯɹoɟsuɐɹʇ (Str $s) {
my @t = $s.comb.sort;
my @t = $s.comb.sort;
@t = ($s.comb Z~ @t).sort for 1..$s.chars;
@t = ($s.comb Z~ @t).sort for 1..^$s.chars;
@t.first( *.starts-with: STX ).substr(1)
@t.first( *.ends-with: STX ).chop
}
}
Line 365: Line 365:
<pre>Original: BANANA
<pre>Original: BANANA
Transformed: BNN👍AAA
Transformed: BNN👍AAA
Inverse transformed: BANANA👍
Inverse transformed: BANANA


Original: dogwood
Original: dogwood
Transformed: 👍ooodwgd
Transformed: 👍ooodwgd
Inverse transformed: dogwood👍
Inverse transformed: dogwood


Original: SIX.MIXED.PIXIES.SIFT.SIXTY.PIXIE.DUST.BOXES
Original: SIX.MIXED.PIXIES.SIFT.SIXTY.PIXIE.DUST.BOXES
Transformed: TEXYDST.E.IXIXIXXSSMPPS.B..E.👍.UESFXDIIOIIITS
Transformed: TEXYDST.E.IXIXIXXSSMPPS.B..E.👍.UESFXDIIOIIITS
Inverse transformed: SIX.MIXED.PIXIES.SIFT.SIXTY.PIXIE.DUST.BOXES👍
Inverse transformed: SIX.MIXED.PIXIES.SIFT.SIXTY.PIXIE.DUST.BOXES


Original: TO BE OR NOT TO BE OR WANT TO BE OR NOT?
Original: TO BE OR NOT TO BE OR WANT TO BE OR NOT?
Transformed: OOORREEETTRTW BBB ATTT NNOOONOO👍 ?
Transformed: OOORREEETTRTW BBB ATTT NNOOONOO👍 ?
Inverse transformed: TO BE OR NOT TO BE OR WANT TO BE OR NOT?👍
Inverse transformed: TO BE OR NOT TO BE OR WANT TO BE OR NOT?


Original: Oops👍
Original: Oops👍