FC2ブログ
最初
http://blog-imgs-36.fc2.com/a/m/a/amamiyaprog/ShellSort1.txt

修正1

# 改良挿入ソート シェルソート Shell Sort
# 引数 値 (\@Price)
# 戻り値 シェルソート (@ShellSort)
sub SHELLSORT{
my ($Price) = @_;
my @ShellSort = @$Price;
my @h = (1);
my $Count = @$Price - 1;

# 配列数の確認
if($Count < 0){
return 0;
}

# 間隔
for(my $i = 0; $h[$i] < @$Price; $i++){
$h[$i + 1] = (3 * $h[$i]) + 1;
}

# 昇順ソート
for(my $i = (@h - 2); $i >= 0; $i--){
my $Gap = $h[$i];

for(my $j = 0; ($j + $Gap) <= $Count; $j++){
for(my $k = ($j + $Gap); ($k - $Gap) >= 0; $k--){
if($ShellSort[$k - $Gap] > $ShellSort[$k]){
# 改良挿入ソート シェルソート Shell Sort
($ShellSort[$k], $ShellSort[$k - $Gap]) = ($ShellSort[$k - $Gap], $ShellSort[$k]);
}else {
last;
}
}
}
}

return @ShellSort;
}


参考URL
シェルソート - Wikipedia

修正1
for(my $k = ($j + $Gap); $k > 0; $k--){

for(my $k = ($j + $Gap); ($k - $Gap) >= 0; $k--){
オンライン コンパイラ/インタプリタ
テクニカル分析
プロフィール

Author:雨宮
Firefoxを使用しているので気づかなかったけど、IE6でソースコードを上手くコピーできない

5/3
携帯用ならIE6でもソースコードをコピーできる
携帯用

検索フォーム


あわせて読みたいブログパーツ
一寸先は闇 RSS