[アルゴリズム] クイックソートの実装(Go言語編)

blue-angels-1524222_1280
LINEで送る
Share on GREE
Share on LinkedIn

何度かGo言語でソートアルゴリズム作ってきましたが、今回は初めてelse if文を使った事と、while文がgo言語に無いこと知り、少し戸惑ってしまいました。
C言語のようにポインタ使って処理しようかと思ったんですが、あまり冒険せずにそのままストレートなソースで書いてます。

ソース

実行

※エラー出まくりましたが、多くがsyntaxエラーだったので、成功結果のみ載せてます・・・

解説

whileが無い・・・

Go言語にはwhile文が無いですが、その分for文が強力な機能を持っています。
ていうか、他の言語より、Go言語のfor文が使いやすいんですけど、これいいですね。
ちなみに、Go言語のwhileの代わりのfor文は、条件無しでfor{…}と書くだけで、任意の段階でbreakすればいいので
無限loopバグがあれば地獄ですが、それでもプログラム言語としては、理解しやすいと思います。

else ifの書き方

何度もsyntaxになったのがif文の書き方で、他の言語では、{}の改行などあまりシビアに気にしなくていいのに、Go言語では下記のように書かないとイケないようです。

個人的に、上記の書き方をしてきたので、この形固定というのは非常に心苦しい・・・が、我慢するとしよう。

変数宣言

書き方が複数あり、とても悩ましい仕様の一つである変数の宣言だが、少し気になるポイントを書いておく。

2番が書きやすいかな〜
なんでこんなに種類があるのか不明ですが、慣れるしかないですね。

参考リンク

クイックソート

解説
Javascript
PHP
Python
Shell
Awk
C言語
Go言語

アルゴリズム過去記事

http://wordpress.ideacompo.com/?cat=562&tag=Algorithm

Leave a Reply

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です