キューについても復習がてら実装してみます。

スポンサーリンク

キューのデータ構造を実装

キューのデータ構造は配列で実現し、リングバッファにします。
enqueueとdequeueの関数を実装しています。
バッファがフルか空かの判定は、enqueueとdequeue時に行い、
enumで定義した定数で状態管理をしています。ここが今回少し悩んだ箇所です。いくつか方法がありますが、最終的にわかり易さを優先して、フラグで状態管理することにしました。
下記が実装したソースコードになります。
main関数でdequeueとenqueueをしています。

下記が実行結果になります。EMPTYとFULLの状態遷移、またenqueueとdequeueの動きも確認できます。
enqueueとdequeueをそれぞれ交互に繰り返して、リングバッファのデータ構造となっていることも確認できます。
(配列の終端までenqueueされた後、配列の先頭からenqueueされています)

動作確認も兼ねていたので、少々main関数が長くなってしまいましたね。。

エンジニアのスキルを活かして、理想の働き方を求めていこう

エンジニアとして新しい働き方を求める方へ、MIDWORKS

MIDWORKSは、週3日から可能な案件も紹介していて、フレキシブルな働き方を求めるにとってはおすすめです。

MIDWORKS

MIDWORKSでは、万が一仕事が途切れてしまった場合の給与保証制度があります。 給与保証制度を適用している場合は、仕事が見つからなかった時に月額契約単価の80%を日割りで受け取ることができます。
安定した収入を求めるフリーランスにとっては、安心して案件を探すことができると言えます。

MIDWORKSに無料会員登録する

開発言語に応じた案件を探すことができるので、 自身のスキルアップの機会として、案件を探すのも有効な手だと思います。

スポンサーリンク