メメメモモ

プログラミング、筋トレ、ゲーム、etc

バブルソート

バブルソートを行なうプログラムを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);
}

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