アルゴリズムとデータ構造〜キュー編〜

date_range 2023/08/25
日々の活動日記エンジニアインターン
サムネ

こんにちは!

マーケティング部受託プロダクトチームのインターン生、村高歩夢です!


本日はなんと!!

僕のキャラクターデザインが公開されました!!

めっちゃ似てますよね!!

ほくろまでついちゃって…

これで改めて頑張ることができます!!ありがとうございます!


さて、本日は

アルゴリズムとデータ構造〜キュー編〜

ITパスポートや基本情報技術者試験にも出題される、超基本のデータ構造について書いていこうと思います!


ここでちょっと復習!

前回説明したスタックは、最後に入れたデータを最初に出すLIFO方式のデータ構造でしたね!


キューとは最初に入れたデータを最初に出すデータ構造のことです!

英語で言うとFirst in First out, 略してFIFA…ではなくFIFO!!


英語ネタで言うとこのキュー(queue )

列に並んで待っている人々を指す意味を持っているんです。

お客さんって並んだ順でレジで買い物をして店を出ますよね。

最初に並んだ人が最初に出る、このような流れでデータを処理するのがキューです。


ちなみに、データを入れることをenqueu、データを取り出すことをdequeueと言います


キューでは列の先頭と末尾を変数としておくことが重要です。

プログラムでキューを作る際、データはバッファと呼ばれるデータを一時的に保存する箱のような領域に入れておきます。

先頭と末尾を変数にしておくと、どのバッファが先頭・末尾になっても対応することができます。


実施のキューのプログラムがこちら!


そしてこの出力結果がこちら!



このプログラムではリストと呼ばれる [ ] 内の6つの領域に1~6の数字データを挿入・取り出すプログラムです。

出力結果のtail/headの番号は [ ] 内の場所を指します。一番左から1,2,3...と命名されており、tail 1の時は1という名前の場所にデータを入れることができます。


今回ちょっとわかりづらいんですが、1という場所に1というデータ, 2という場所に2というデータを入れてます。

入れるデータをabcとかにすれば良かったな

このプログラムのミソはtailとheadの値が1ずつずれることで、データを挿入する場所、取り出す場所がずれていくということです。


以上がキューの説明でした!

いや〜分かりやすく説明するの難しい!

この日記も後で振り返って反省して改善してかないと。





■ガーディアン主力ソリューション→OWLet

■新サービスリリースのお知らせ

WEB業界を変える!育てて成果を上げるサブスク型HPサービス

SCSC (スクスク)

ガーディアンのインターン制度→こちら

村高歩夢の紹介ページこちら

*COMMENT*

    *コメント*

    *ログイン*

    メールアドレス
    パスワード