再帰比較
http://d.hatena.ne.jp/murase_syuka/20120217/1329405241

C++
http://www.libjingu.jp/trans/bs_faq2-j.html