Sort the letters of string in alphabetical order: Difference between revisions

Content added Content deleted
Line 306: Line 306:
Unsorted -> Now is the time for all good men to come to the aid of their country.
Unsorted -> Now is the time for all good men to come to the aid of their country.
Sorted -> .aaccddeeeeeeffghhhiiiillmmmNnnooooooooorrrstttttttuwy
Sorted -> .aaccddeeeeeeffghhhiiiillmmmNnnooooooooorrrstttttttuwy
</pre>

=={{header|Perl}}==
<lang perl>#!/usr/bin/perl -l

use strict; # https://rosettacode.org/wiki/Sort_the_letters_of_string_in_alphabitical_order
use warnings;

my @lines = split /\n/, <<END;
The quick brown fox jumps over the lazy dog, apparently
Now is the time for all good men to come to the aid of their country.
END

for ( @lines, 'dcba', 'sort this string' )
{
print "\n$_";
print builtinsort($_); # using built in sort
print sortstring($_); # not using built in sort
print inplace($_); # not using built in sort
}

sub builtinsort
{
return join '', sort split //, shift;
}

sub sortstring # IBM card sorters forever !! (distribution sort)
{
my @chars;
$chars[ord] .= $_ for split //, shift;
no warnings; # hehehe
return join '', @chars;
}

sub inplace # just swap any adjacent pair not in order until none found
{
local $_ = shift;
1 while s/(.)(.)(??{$1 le $2 && '(*FAIL)'})/$2$1/g;
return $_;
}</lang>
{{out}}
<pre>

The quick brown fox jumps over the lazy dog, apparently
,Taaabcdeeeefghhijkllmnnoooopppqrrrsttuuvwxyyz
,Taaabcdeeeefghhijkllmnnoooopppqrrrsttuuvwxyyz
,Taaabcdeeeefghhijkllmnnoooopppqrrrsttuuvwxyyz

Now is the time for all good men to come to the aid of their country.
.Naaccddeeeeeeffghhhiiiillmmmnnooooooooorrrstttttttuwy
.Naaccddeeeeeeffghhhiiiillmmmnnooooooooorrrstttttttuwy
.Naaccddeeeeeeffghhhiiiillmmmnnooooooooorrrstttttttuwy

dcba
abcd
abcd
abcd

sort this string
ghiinorrsssttt
ghiinorrsssttt
ghiinorrsssttt
</pre>
</pre>