調べた。
塗りつぶしのアルゴリズム。
まぁ調べたといっても、2つのサイトしか見てないけど
どっちともだいたい同じアルゴリズムを紹介していた。
それをまぁ俺なりに解釈して、組んでみたら・・・
速い速い!なんて速さだ!
しかもスタックエラーなんて起こさないときたもんだ!
だが、やはり、ここで、俺の能力の限界を感じた。
参照したサイトのひとつにはアルゴリズムしか載ってなかったが
もうひとつのサイトにはソースが載ってたが、読まなかった
つまり、俺の書いたソースには無駄が多分に含まれていると思う。
そう、Windowsのペイントの塗りつぶしとも比較してみたが、
全然かなわない。Windowsのペイント速すぎw
さすが、歴史の集大成だ。
とはいえ、俺が参照したサイトは、基本みたいなことしか書いてなかったし
たぶん、もっと速いアルゴリズムが存在するんだろう。
無かったとしても、まぁ、マシン語レベルで作られてるんだろうな。
高級言語でコンパイルすれば、無駄が多くなるのは当然だからな。
ふむ、Windowsプログラミングするなら、API使えばいいわけだし、
自作する必要は無かったんだけどねw
今回は、すごく勉強になった。
俺は再帰でしか考えてなかったが、
紹介されていたのでは、スタックを使うとのことだった。
大学でデータ構造の勉強もしてるからスタックのことはわかったが
ちょい前まで、俺はReDimを扱えなかったから、
可変長の配列扱えなかったんだよね。
だからそういう発想に至らなかった。
まぁ、マイアルゴリズムの
スタックエラーの対処として使おうとは思ってたけど
マジでReDimは覚えたてだったから使えてよかった。