ノート:選択ソート
表示
選択ソートの実装例について
[編集]現在乗っている実装コードはこれです。116.91.77.231によって、2013年5月12日 (日) 01:57版で書き換えられています。
for I := 1 to N
min = I ;
for J := I+1 to N
if data[J] < data[min] then
min := J
end if
end for
swap (data[I], data[min])
end for
私には何語なのか検討が付きませんが。そもそもなんでわざわざC言語のコードを別言語に書き換えたのかよくわかりませんが。そして謎のcodeタグ。
でその昔乗っていたコードはこれです
for (i = 1; i < n; i++) { tmp = data[i]; for (j = i; j > 0 && data[j-1] > tmp; j--) { data[j] = data[j-1]; } data[j] = tmp; }
で、とある個人ブログで各国語版の実装例を調査し、提案された最適化案が
// yaneurao's insertion sort for (int i = 1; i < MAX; i++) { int tmp = t[i]; if (t[i-1] > tmp) { int j = i; do { t[j] = t[j-1]; --j; } while ( j > 0 && t[j-1] > tmp); t[j] = tmp; } }
です。
ここで疑問があります
- 一番早いのはどれか
- 出典があってWikipediaに掲載可能なのはどれか
私には判断がつかなかったので提起だけしておきます。--Yumetodo(会話) 2015年6月23日 (火) 06:26 (UTC)