読者です 読者をやめる 読者になる 読者になる

バブルソート

perl アルゴリズム

バブルソートを行なうプログラムをperlで書いてみました。

use strict;
use warnings;

{   
    my @a = (8,4,3,9,7,6,5,2,1);
    print "===================\n";
    print join(',',sort(@a)) . "\n";
}



sub bubble_sort {
    my @a = @_;

    my $a_length = @a;
    for (my $i = 0; $i < $a_length; $i++) {
        for (my $j = $i; $a_length < $j + 1; $j++) {
            if ($a[$j] < $a[$j+1]) {
                my $t = $a[$j];
                $a[$j] = $a[$j+1];
                $a[$j+1] = $t;
            }
        }
    }

    return @a;
}



sub sort {
    my @a = @_;
    return bubble_sort(@a);
}

小さい数字が左にプクプク浮かび上がってくる感じがバブルなのですね。