From 772fb588198fa4e4ddb2a7e6b322c0abfe4c8b80 Mon Sep 17 00:00:00 2001 From: Luca Ferrari Date: Tue, 27 Dec 2022 09:47:05 +0100 Subject: Task 2 done --- challenge-197/luca-ferrari/raku/ch-2.p6 | 38 +++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 challenge-197/luca-ferrari/raku/ch-2.p6 (limited to 'challenge-197') diff --git a/challenge-197/luca-ferrari/raku/ch-2.p6 b/challenge-197/luca-ferrari/raku/ch-2.p6 new file mode 100644 index 0000000000..050a1d9c1a --- /dev/null +++ b/challenge-197/luca-ferrari/raku/ch-2.p6 @@ -0,0 +1,38 @@ +#!raku + +# Perl Weekly Challenge 197 + +sub MAIN( *@list where { @list.grep( * ~~ Int ).elems == @list.elems } ) { + my @sorted = @list; + my $done = False; + + # list[0] < list[1] > list[2] < list[3]…. + while ( ! $done ) { + $done = True; + for 0 ..^ @sorted.elems - 1 -> $i { + if ( $i %% 2 ) { + if ( @sorted[ $i ] >= @sorted[ $i + 1 ] ) { + # need to change + my $temp = @sorted[ $i ]; + @sorted[ $i ] = @sorted[ $i + 1 ]; + @sorted[ $i + 1 ] = $temp; + $done = False; + } + } + else { + if ( @sorted[ $i ] <= @sorted[ $i + 1 ] ) { + # need to change + my $temp = @sorted[ $i ]; + @sorted[ $i ] = @sorted[ $i + 1 ]; + @sorted[ $i + 1 ] = $temp; + $done = False; + + } + } + + } + } + + @list.join( ',' ).say; + @sorted.join(',').say; +} -- cgit