# クイックソート 非再帰版 use strict; use warnings; my $LIST_SIZE ||= 20; # 要素数 my @list; # 0から1増分のリストを作成 for(my $i = 0; $i < $LIST_SIZE; $i++){ } #ランダムに並び替える for (my $i = @list; --$i; ) { next if $i == $j; @list[$i, $j] = @list[$j, $i]; } # ソート前の状態表示 &ShowData(); # ソート実行 &QSort(0, $LIST_SIZE - 1); # ソート後の状態表示 &ShowData(); sub QSort{ my @left_stack; my @right_stack; my $sp = 1;; my $left = 0; my $right = 0; $left_stack[0] = $begin; $right_stack[0] = $end; while( $sp > 0){ # スタックPOP --$sp; $left = $left_stack[$sp]; $right = $right_stack[$sp]; if($left < $right){ my $i = $left; my $j = $right; while(1){ while($list[$i] < $pivot){$i++;} while($list[$j] > $pivot){$j--;} if($i >= $j){ last; } ($list[$i], $list[$j]) = ($list[$j], $list[$i]); &ShowData(); # 途中表示 $i++; $j--; } # スタックPUSH if($i - $left < $right - $i){ $left_stack[$sp] = $j + 1; $right_stack[$sp++] = $right; $left_stack[$sp] = $left; $right_stack[$sp++] = $i - 1; }else{ $left_stack[$sp] = $left; $right_stack[$sp++] = $i - 1; $left_stack[$sp] = $j + 1; $right_stack[$sp++] = $right; } } } } # リスト表示 sub ShowData{ for my $a(@list){ } }
昨日アクセスの多かった掲示板スレッドランキングです。話題のスレッドを見に行こう!
- スレ民のみんなに50の質問! - 初音ミクwiki掲示板wiki
- 推し語り - 初音ミクwiki掲示板wiki
- 基本情報まとめ兼お助けスレ - 初音ミクwiki掲示板wiki
- 愚痴を聞くスレ2 - 初音ミク Wiki
- ばかわたしについてどう思う - ポーランドボーラーwiki
- スレ民プロフィール!!! - 初音ミクwiki掲示板wiki
- 雑談スレッド - タイピンガーZ (タイピングコロシアム) チーム名【クロノス】
- 俺がいろもんを描き殴る所 - 5代目プロゼミュニティ【非公式】
- コラボ人狼やりますねえ - プロゼ民Wiki【非公式】
- テンプレ/診断共有会 6 - 初音ミクwiki掲示板wiki
急上昇Wikiランキング
急上昇中のWikiランキングです。今注目を集めている話題をチェックしてみよう!
最近作成されたWikiのアクセスランキングです。見るだけでなく加筆してみよう!
atwikiでよく見られているWikiのランキングです。新しい情報を発見してみよう!
最近アクセスの多かったページランキングです。話題のページを見に行こう!
- わっぴー - YAJU&Uコメ欄Wiki_再
- 魔王レオナーレ - モンスター烈伝オレカバトル2@wiki
- ギョング - SURGE Townまとめwiki
- 四国 - QMA7 @Wiki
- ブラックナイトスコード カルラ - 機動戦士ガンダム EXTREME VS.2 INFINITEBOOST wiki
- 科場 諸朋 - ストグラ まとめ @ウィキ
- 参加者一覧 - ストグラ まとめ @ウィキ
- 参加者一覧 - SURGE Townまとめwiki
- ブラックナイトスコード カルラ/ブラックナイトスコード カルラ_レヴィテーター展開時 - 機動戦士ガンダム EXTREME VS.2 INFINITEBOOST wiki
- ブラックナイトスコード カルラ/ブラックナイトスコード カルラ_通常時 - 機動戦士ガンダム EXTREME VS.2 INFINITEBOOST wiki