配列なお話 | もっとコンピュータが好きになるblog

配列なお話

一週間更新してませんでしたか.別に更新忘れてたとか,ネタが無かったとか,ネタを貯めてたとか,仕事が忙しかったとかじゃなくて,ドラクエ休みです.

今回のドラクエ,ふつーに面白かったですよ.少々高いけど,中古でもいいから一度プレーしてみても良いかもしれません.しかし,あれですね.歳のせいか,ゲーム徹夜はこたえます.死にそうでした.

今回の内容は「配列」に関して書こうと思います.配列ってのは,プログラムでよく使うもので,変数の固まりみたいなものです.プログラムやった事無い人にはいまいち伝わりにくいかもしれませんので,補足説明してゆきたいと思います.

例えば数学で,「x」とか「y」とか使って計算したことあるかと思います.こんな感じで.

y = 5 * x

簡単な式ですね.プログラム内部でも局所的に見てゆけば,こんな感じで計算しています.この時のxとかyというのが,変数ですね.では,次にxの値が1~3まで変化するとします.すると.

y0 = 5 * 1
y1 = 5 * 2
y2 = 5 * 3

こんな感じになります.この時のy[0~2]というのが配列です.変数だけでかまわないんじゃないかとか思われるかもしれませんが,関連ある変数をグループとしてとらえる事が出来るので,利用価値は高いです.例えばこんな感じ.

y0 = "リンゴ"
y1 = "ナシ"
y2 = "オレンジ"

こうやって見るとyは果物のまとまりなんだなぁというのがわかるかと思います.



なんでいきなり配列の話なんかしているのかというと,ドラクエに関係あるからです.僕はドラクエをAmazonで9月に予約したんすけど,発売日に届きませんでした.2chのここのスレに張り付き,今か今かと待ってました.11月に予約した奴らは早々に届いているのに,なぜか9月に予約した人たちだけ届いてなかったんです.

だいたい9月15~30日あたりに予約している人たちはなぜか配送後回し.僕なんか,発売当日でまだ未発送でしたから.泣けますよ.

Amazonの配送状況を見て思いついたのが,配列のスタック処理です.スタックというのは,積み重ねた皿を取り出す処理に似ています.一番最初に置いた皿を取り出すには,一番最後に取り出さなければなりません.これがスタックです.一般的に「FILO(First In Last Out)」と呼ばれます.

スタックに対して,キュー処理と呼ばれる処理があります.これは,食券を買う行列に似ています.一番最初に列に並んだ人が一番最初に食券を買えます.一般的に「FIFO(First In First Out)」と呼ばれます.ちなみに上記の絵は,スタック,キューそれぞれのプログラムの動きとなります.

普通.予約した順に購入の優先がまわるのが一般的な考え方だと思うのですが,どうやらAmazon内のシステムはスタック型の処理形式らしいです.なんか頭にきたんで,Amazonに予約していた商品全部取り消しましたけど.

今回の結論,Amazonでは本当に欲しいものは買わない事.ちなみに予約特典もつかないみたいです.ギフト券が結構余ってたんでそれで買おうと思ってただけに残念.そのギフト券はあとでインターネット系の歴史書とか買いますわ.はぁ~.