////////////////////////////////////////////////////////////////////
/*

    KAB-studio.h


    (C)KAB-studio 1999 - 2004 ALL RIGHTS RESERVED.
        http://www.kab-studio.biz/
        info@mail.kab-studio.biz

    送信日： 2004/02/02(Mon) No.242
    配信数： 2650 ( Mag2 + Pubzine )
＊    発行元： まぐまぐ ( URL: http://www.mag2.com/  ID: 0000012198 )
＊    発行元： Pubzine ( URL: http://www.pubzine.com/  ID: 590 )
*/
////////////////////////////////////////////////////////////////////

/*       Pubzine 読者の方へ - まぐまぐへ移行すれー！！ -          */

　本メールマガジン、 KAB-studio.h は「まぐまぐ」と「 Pubzine 」の
２通りの配信サービスを利用させて頂いております。
　このふたつのサービスうち、 Pubzine が２００４年２月９日で終了いた
します。
　そのため、 Pubzine で購読登録している方は、今回の配信が最後となり
ます。
　引き続き KAB-studio.h を購読登録したいという方は、お手数ですが
[まぐまぐの KAB-studio.h 登録画面 ]にて購読登録をしてください。

[ Pubzine 終了についてのおしらせ ]
http://www.pubzine.com/
[ まぐまぐの KAB-studio.h 登録画面 ]
http://www.mag2.com/m/0000012198.htm

Ｑ：めんどくさい。
Ａ：まぐまぐのバックナンバーや、縮刷版をご利用ください。


////////////////////////////////////////////////////////////////////
/*                ２００４年２月２日（月）の更新                  */
http://www.kab-studio.biz/index.html

・ほとはーお休み……
　ごめんなさい、三人合体ホットハーブは今週の追加はありません。それだ
け Fate が面白かったってことで……。
　表紙壁紙も今月はお休みします。ごめんなさい。
[ 三人合体ホットハーブ ]
http://www.kab-studio.biz/Comic/HotHerb/index.html


////////////////////////////////////////////////////////////////////
/*                        ちょお普通な日記                        */
http://www.kab-studio.biz/nikki2/index.html

2004/01/25 (Sun)
　１日ぐだーっと。何してたのか忘れる。ぐだーっとほとはーを描く。
フォトショＣＳ。フルスクリーンモードで移動できるのが便利。夏コミ申込
書を出しそうになる。プラネテスがすごい。ナージャ最終回。明日からの１
週間大変そう。

2004/01/26 (Mon)
　Eclipse で WebLogic 。 CVS で管理。 Fate 体験版がかなりいい……。
そして C++ 例外。うちは無理っぽい……。

2004/01/27 (Tue)
　今日なにしたっけ。体がいつの間にかかたく。

2004/01/28 (Wed)
　何がなにやら。処理能力の限界？　客先近くで移動販売のカレー屋。夢で
心臓病。そして WindowsSDK の本。

2004/01/29 (Thu)
　すげー眠い。テスト方法のガイダンスとかインストールとか性能チューニ
ングとかとか。ロジックと分離して〜。土日休みたい。でも土日に届かな
いっぽい（泣）。がーっと動いてぐだーっと疲れる。

2004/01/30 (Fri)
　午前中は残作業、午後はミーティング。データベースのメリット。忙しい
です。久々２連休！　 Fate ちゃんと来るかも。郵便受けが壊されてた。な
んか色々一喜一憂。

2004/01/31 (Sat)
　９時半に起きて洗濯とか。そして Fate 来る！　（以下ネタバレなので日
記にて）。


////////////////////////////////////////////////////////////////////
/*                         風雅、舞い                             */
http://www.kab-studio.biz/Novel/Fuga/index.html

■　第九章　四人　−１９−

　村にたどり着いて、３人は振り返る。
　まるで「一緒に歩いてきた」ように、男が立っている。
「早く逃げなよ」
　そう言われるまでもなく村の中へと入る。雅樹は穂香に肩を支えられて歩
いているため、その足は速くない。穂香と赤葉の炎が男を牽制するが、全く
意味をなしていなかった。
　３人は、ひび割れた階段を下りて、朱き泉へと入る。
「おばあちゃん！！」
　赤葉はがれきからわずかに見える白葉の手を握り、涙した。
「さーて、どうすんの？」
　泉の中央で、３人は振り返る。入り口側に立つ男を見る目は、おぼろげな
ものとなっていた。自分達の何倍もできる白葉様が、泉にいながら、この男
に殺されていた、という事実。
「……なぜだ？」
「俺のいた泉はこことはだいぶ違うんだが、それでも泉は泉だ。どうやら場
所に関わらず、泉ってのは洗礼を受けた者を受け入れてくれるらしいな」
『炎よ！！』
　殺気を含む赤葉の声と共に朱き泉から炎が立ち上り男へと向かう。だが、
それは直前に掻き消える。
「そ、そんな」
　うなだれる赤葉。まともに立つことすらできず、半分に折れた刀しか持た
ず、それでも睨み付けることをやめない雅樹。
　その後ろから、穂香がささやく。
「最後の賭に出る」
「賭……まさか」
「雅樹、経験は？」
「３度やってだめだった」
　穂香はあからさまに舌打ちする。
「あたし５度もやったけど……」
　さらに後ろで赤葉がささやく。
「じゃ、あたしだけ！」
　穂香は朱き泉に飛び込む。
「確率は上げるもんだ！」
「うん！」
　二人も続けて飛び込む。
　赤葉の肩に激痛が疾った。
                                                              (続く)


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~[KCM]
『とうとう Pubzine の配信が終わっちゃうね』
「読者数が減っちゃうのが辛いけど」
『っつーかあんま移ってないね』
「実質的な読者数は少ないだろうから……」
『……もすこしがんばろうって気はないの？』
「う”」
http://www.kab-studio.biz/index.html
_______________________________________________________________[KCM]

////////////////////////////////////////////////////////////////////
/*                       #pragma twice                            */
http://www.kab-studio.biz/Programing/PragmaTwice/index.html

　Version 13.06
アルゴリズムの定番・ソート

「これからアルゴリズムの作り方について説明するけど、まずはわかりやす
い例から、ってことでソートについて説明します」
『ソートって並べ替えってことだよね』
「そう、たとえば」

5
2
7
1

「って並んでいるものを」

1
2
5
7

「って並べ替えること」
『逆順っていうのもあるんじゃない？』
「そうそう。専門用語で【昇順】と【降順】って言います」
『しょうじゅん、こうじゅん、ね』

・昇順
1
2
5
7

・降順
7
5
2
1

「重要なのは、これは〈並べる方向に対して、増えていくなら昇順、減って
いくなら降順〉ってこと」
『どゆこと？』
「【昇】って付いていても、方向は表さないってこと。もし【昇る】って意
味なら上の降順の例の方が昇順って勘違いするんじゃないかなと思って」
『……んなの言われなきゃ思わないよ』
「え”」
『なんか言われたらすごくややこしくなった……』
「あ−、まぁ、増えていくのが昇順、減っていくのが降順、ってことで」
『はいはい』
「ソートはアルゴリズムの中でも比較的簡単なもの。一番楽なのは、データ
の増減がないってことかな」
『並び替えだから減ったり増えたりしないわけね』
「もしこれが増えたりすると、配列では実現できないから」
『めんどくさくなっちゃうね……』
「そういう点で簡単、っていうのや、よく使うものだから、最初にしておく
と楽かな」
『はーい』
「ソートのアルゴリズムを考える上で重要なポイントは、次の５つ」

・配列かそれ以外か。
・各要素の型。
・比較方法。
・ソートの早さ。
・安定かどうか。

「まず〈配列かそれ以外か〉について。普通は配列なんだけど、配列以外の
場合もあるから」
『配列以外？』
「配列って、サイズの変更ができないでしょ」
『そだね、 Version 11.15 ( No.215 ) で教わったけど、大変だったもん
ね』
「その大変な、サイズの変更とかを自動的にしてくれるクラスがあるんで
す。 MFC だと CArray 、標準 C++ ライブラリだと std::vector とか」
『つまり配列の代わりにそういうのも使える、ってことね』
「そういうこと。ソートはサイズの拡張は必要ないから配列でいいんだけ
ど、こういう他のも使う可能性があるからその辺も見ておきます」
『はーい。次の〈各要素の型〉ってそのまんまね』
「でも、それ以上の意味があるんです」
『え？』
「一番重要な問題は、ポインタにするかしないか。ソートって、さっきみた
いなただ数字が並んでいるものをソートするよりも、構造体をソートする方
が多いんです」
『その方が多そうだね』
「で、ソートするってことは〈各要素を入れ替える〉ってことだから」
『そか、順番並び替えるわけだから……構造体そのまま入れ替えたら大変、
だからポインタの方が早い、ってこと？』
「そういうこと。ただ、ポインタを使う場合、動的に構造体を作る必要が
あるから」
『ちょっと面倒そうね』
「現実的にはポインタを使わないと大変だから、ポインタを使用した場合の
説明を中心にします」
『次の〈比較方法〉は Version 13.01 ( No.237 ) の時のだよね』
「そう、構造体で比較する時にはどの変数で比較するのか、っていうのが問
題になります。それに、この比較部分をちょっと間違えるとソート結果が大
きく変わるから、とても重要」
『順番決めるだけなんだからそんな大変そうに見えないけど』
「単純な比較ならそうなんだけど……。次の〈ソートの早さ〉も、さっきの
13.01 で話したこと」
『方法によってかかる時間がかなり変わる、ってことね』
「ソートのアルゴリズム、っていうとこの部分が一番重要かな。僕としては
それほど重要視してないんだけど……」
『でも早さは重要じゃない？』
「それはそうなんだけど……」
『最後の〈安定かどうか〉って？　アルゴリズムって、何度やっても結果は
同じなんじゃないの？』
「もちろんそう。この【安定】っていうのは別の意味。たとえば……」

1-5
4-7
2-3
4-3

「っていうデータがあるとします。これを、まず右側の数字でソートしま
す」

2-3
4-3
1-5
4-7

「で、重要なのは、次に左側の数字でソートした場合の話。どうなると思
う？」
『って、普通に考えれば』

1-5
2-3
4-3
4-7

『でしょ？』
「ところが、そうならずに」

1-5
2-3
4-7
4-3

「ってなる場合もあります」
『最後が逆だ……』
「２回目のソートは〈左側の数字〉しか見ないから、右側の数字の順番につ
いてはまったく見ないんです」
『でも前の順番ってそのまま残さないの？』
「そこがポイント。その〈前の順番を残すソート〉を【安定ソート】とか
【ステーブルソート】って言います」
『あ……ってことは、普通のソートは前の順番を残さないの？』
「残す物もあるし残さない物もある、かな。何も書かれてなくても安定ソー
トのものもあるから。でも、安定ソートっていうのは重要だから、普通は
ちゃんと書かれていると思うよ」
『ってゆーか、普通安定ソート使うんじゃない？』
「そうとも限らなくて、実は、早さを追求すると【安定ソート】にならない
んです」
『え』
「ソートのための最適化でまぜこぜにしちゃうから、前の順番が残らないん
です。その分早いわけだけど」
『早さか安定、か』
「それだけでもないよ。たとえば、さっきの例だけど、比較方法を次のよう
に定義したら？」

・左の数字が小さい順に並び替える。
　左の数字が同じものは右の数字が小さい順に並び替える

『あ、これだとちゃんと並ぶね』
「これが許されるんであれば、早さ重視でもいいでしょ」
『許されない場合ってあるの？』
「リスト表示とかで、使ってるひとが何度でもソートできるようにする場合
とかは無理。〈これまでにしたソート〉の履歴を取っておかないといけない
から」
『んー、それってエクスプローラーとか？』
「エクスプローラーは違うよ。検索してから、ファイル名で降順でソートし
て、フォルダでソートし直すと」
『げ、ファイル名が昇順で並んでる……』
「だからこれは例にならないけどね。あと、早さの問題も簡単には解決しな
いかな。まず、２回ソートするよりも１回で２項目まとめてソートした方が
早くなります」
『そなの？』
「全体を見る量が減るし、安定ソートを使う必要がないから」
『早いソートを使えるわけね』
「でも、エクスプローラーとかだと、毎回全項目でソートするよりは、前に
検索したものを使って安定ソートを１回する方が早いことが多いです」
『そか、ソート済みのを利用すれば、それだけ早くなる……』
「以上を踏まえて、もう一度この一覧を見てみて」

・配列かそれ以外か。
・各要素の型。
・比較方法。
・ソートの早さ。
・安定かどうか。

「たとえば、比較方法。エクスプローラーだと色々な形式で比較する必要が
あるでしょ。ファイル名、ファイルサイズ、日付、などなど」
『面倒そう……って、それってそれぞれ別の比較方法にしなきゃいけないっ
てこと？』
「そういうこと。だから、エクスプローラーのソートだと比較方法を自由に
変えられないといけないんです。降順にする必要もあるしね」
『そういえば……』
「ソートは、必要条件でどういうものにしなきゃいけないのか考える必要が
あるんです」
『だから結構複雑……』
「でも、だからと言ってソートを１から作るのは大変だから、元々あるもの
の流用のしかたや、自分が作ったものを流用しやすくする方法も絡めつつ、
ソートの仕組みについて説明していきます」

/*
    Preview Next Story!
*/
『……なんかちょっと大がかり？』
「〈アルゴリズムでソート〉って言ったら、すごくメジャーだから」
『そなの？』
「本とかで一章まるまる使うくらいだからね」
『というわけで次回』
＜ Version 13.07 最も簡単なソート ＞
「につづく！」
『つか、じゃあアルゴリズム編ってやたら長くなるんじゃない？』
「違うよ火美ちゃん」
『え？』
「〈も〉だよ」


////////////////////////////////////////////////////////////////////
/*                ２００４年２月９日（月）の更新                  */
http://www.kab-studio.biz/index.html

・ほとはー１話追加予定
　三人合体ホットハーブに７の１０を追加予定。今度はちゃんと追加しま
す。


////////////////////////////////////////////////////////////////////
/*                          ご注意！！                            */

・このメールを返信しないでください。
・ご意見・ご希望・ご感想は[チョー普通な日記]よりお送りください。
http://www.kab-studio.biz/nikki2/
・購読登録を解除したいときにはこのページで行なってください。
＊http://www.mag2.com/m/0000012198.htm
＊http://www.pubzine.com/detail.asp?id=000590
・解除は自分で行なってください。
・バックナンバーはこれらのページにあります。
http://backno.mag2.com/reader/Back?id=0000012198
http://www.kab-studio.biz/Freeware/index.html#MailMagazine


////////////////////////////////////////////////////////////////////
/*
    KAB-studio.h
      Weekly Mail Magazine.
      Written by Kaburaya Seiden.
      http://www.kab-studio.biz/Info/MailMagazine/

    (C)KAB-studio 1999 - 2004 ALL RIGHTS RESERVED.
        http://www.kab-studio.biz/
        info@mail.kab-studio.biz
*/
////////////////////////////////////////////////////////////////////

