【◆QZaw55cn4c 隔離】C/C++の問題を片付けますat TECH
【◆QZaw55cn4c 隔離】C/C++の問題を片付けます - 暇つぶし2ch277: ◆QZaw55cn4c
10/12/03 00:08:55
>>275
バブルソートの改良案は理解できます。
>>269 に沿って記述すれば、一回のループで値が大きいものから順に配列の引数の大きい側に寄せられていきますから、
i 回ループをまわれば配列の大きい側から i 個までは比較交換する必要はない、というわけですね。
ただ、以前よりバブルソートのお題は、URLリンク(en.wikipedia.org) に沿ってかくようにしています。
改良しても計算オーダーは、やはりΟ(n^2) で変わりがない、ということもあります。
(改良前:n^2, 改良後:1/2 * n * (n + 1))

>マクロにしちゃうのは?
構造体の配列があって、その構造体独自の大小関係を自前で定義して、ソートをかけることを想定しています。
struct c { double r, i; } a[100];
cmp(struct c *a, struct c *b) { return (a->r * a->r + a->i * a->i) - (b->r * b->r + b->i * b->i); }
myqsort(a, 100, sizeof(struct c), cmp);

stdlib.h の qsort() を一度自分で実装したくなって、この問題に着手した次第です。


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch