http://www.perlmonks.org?node_id=1202592


in reply to Re: How do i sort an numeric array without using sort function. Is ther any way to sort it just with loop in perl??
in thread How do i sort an numeric array without using sort function. Is ther any way to sort it just with loop in perl??

If i do any mistake its bcs im new in perl

I didnt get any output

#!/usr/bin/perl use strict; use warnings; use Data::Dumper; my @unsorted = map {int (1000 * rand ())} (1..100); my @sorted = sort_try (@unsorted); print Dumper \ @sorted; sub sort_try { my $i = 0; while ($i < $#unsorted) { if ($unsorted[$i] > $unsorted[$i+1]) { @unsorted[$i, $i+1] = @unsorted[$i+1, $i]; --$i if $i; } else { ++$i; } } return @unsorted; }

Replies are listed 'Best First'.
Re^3: How do i sort an numeric array without using sort function. Is ther any way to sort it just with loop in perl??
by hippo (Bishop) on Nov 02, 2017 at 10:05 UTC

    You have written my @sorted = sort_try (@unsorted); but your sort_try sub doesn't return anything (and it also ignores its arguments but that's a different matter). Try reading perlsub for the basics.

      thank you very much that was really nice from you i got my answer :)

        You may want to think a little about the sorting algorithm used. Gnome sort is an example of a stunningly bad way to sort. Now you have a working example, have a quick google and look for better ways. I'm sure we can help with any attempts to code other methods.

        Cheers,
        R.

        Pereant, qui ante nos nostra dixerunt!