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

bridge-1850679_1280
LINEで送る
Share on GREE
Share on LinkedIn

WEBサービスを作っているエンジニアをしている場合、どのくらいの割合でShellスクリプトをコーディングするかを少し考えてみたが、サーバーバッチを作る時以外はないだろうと考えた。
ただ、個人的には、LinuxOSでは必ず動作するこの言語を利用しない手はなく、ちゃんとした書き方をしておけば、サーバー間における汎用性は半端なく高いのではないかと考えられるので、かなり強力なスクリプト言語だと考えてます。
そうそう、MacOSXもUNIXベースなので、Linuxと同じと考えてもいいですね。

ソース

実行

解説

nullの扱い

AWKでは、null値も0もif文において同じ判定をされてしまうので、型がちゃんと制御できない言語では、それを逆手に取って文字列の”null”を使用することにしました。
C言語のように型が厳密に管理されなくてはいけない言語では、この方法は使えないのですが、型の緩い言語ならではの方法かもしれません。

関数との配列のやりとり

AWKにおける関数では配列のやりとりはご法度なため、いちいち”,”カンマ区切りの文字列に変換してから行います。
非常にめんどくさいやり方ですが、他にいい方法があれば使いたいんですが、今のところできるのはこれぐらいですね。
しかも少し得意なやり方をしていて、最初の配列1番目を定義しておいて、その後for文で文字列に追記する形です。

整数化

Awkでもint関数は使えます。

こんな感じで問題なく使えます。

参考リンク

クイックソート

解説
Javascript
PHP
Python
Shell
Awk

アルゴリズム過去記事

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

Leave a Reply

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


*