「C言語の基礎 - キューとスタック」の版間の差分

📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)

編集の要約なし
文字列「source lang」を「syntaxhighlight lang」に置換
30行目: 30行目:
以下に、エンキュー操作を行う関数の実装例を示す。<br>
以下に、エンキュー操作を行う関数の実装例を示す。<br>
headとtailは引数として受け取り、ポインタ渡しで返すようにしている。(値が更新されるのは、tailのみである)<br>
headとtailは引数として受け取り、ポインタ渡しで返すようにしている。(値が更新されるのは、tailのみである)<br>
  <source lang="c">
  <syntaxhighlight lang="c">
  /* 配列にエンキューする                    */
  /* 配列にエンキューする                    */
  /* @param[in,out] queue 配列                */
  /* @param[in,out] queue 配列                */
63行目: 63行目:
エンキュー操作と同じように、tailと配列の最大要素数の余剰を計算して、添え字にするのがポイントである。<br>
エンキュー操作と同じように、tailと配列の最大要素数の余剰を計算して、添え字にするのがポイントである。<br>
headとtailは引数として受け取り、ポインタ渡しで返すようにしている。(値が更新されるのは、headのみである)<br>
headとtailは引数として受け取り、ポインタ渡しで返すようにしている。(値が更新されるのは、headのみである)<br>
  <source lang="c">
  <syntaxhighlight lang="c">
  /* 配列からデキューする                */
  /* 配列からデキューする                */
  /* @param[in,out] queue 配列            */
  /* @param[in,out] queue 配列            */
84行目: 84行目:
<br>
<br>
上記で例に挙げた関数を使用して、配列を簡易的なキューとして使用する例を以下に示す。<br>
上記で例に挙げた関数を使用して、配列を簡易的なキューとして使用する例を以下に示す。<br>
  <source lang="c">
  <syntaxhighlight lang="c">
  #include <stdio.h>
  #include <stdio.h>
  #include <stdlib.h>
  #include <stdlib.h>
182行目: 182行目:
以下に、PUSH操作を行う関数の実装例を示す。<br>
以下に、PUSH操作を行う関数の実装例を示す。<br>
スタックポインタspは、次の値を格納する位置情報を保持する必要があるため、引数として受け取り、ポインタ渡しで返している。<br>
スタックポインタspは、次の値を格納する位置情報を保持する必要があるため、引数として受け取り、ポインタ渡しで返している。<br>
  <source lang="c">
  <syntaxhighlight lang="c">
  /* 配列にプッシュする                      */
  /* 配列にプッシュする                      */
  /* @param[in,out] stack 配列                */
  /* @param[in,out] stack 配列                */
216行目: 216行目:
PUSH操作が行われた時に上書き可能にするのがポイントである。<br>
PUSH操作が行われた時に上書き可能にするのがポイントである。<br>
以下の例では、POP操作を行う関数の実装例を示す。<br>
以下の例では、POP操作を行う関数の実装例を示す。<br>
  <source lang="c">
  <syntaxhighlight lang="c">
  /* 配列からポップする                */
  /* 配列からポップする                */
  /* @param[in] stack 配列              */
  /* @param[in] stack 配列              */
235行目: 235行目:
<br>
<br>
上記で例に挙げた関数を使用して、配列を簡易的なスタックとして使用する例を以下に示す。<br>
上記で例に挙げた関数を使用して、配列を簡易的なスタックとして使用する例を以下に示す。<br>
  <source lang="c">
  <syntaxhighlight lang="c">
  #include <stdio.h>
  #include <stdio.h>
  #include <stdlib.h>
  #include <stdlib.h>