📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)
編集の要約なし |
細 文字列「source lang」を「syntaxhighlight lang」に置換 |
||
| 30行目: | 30行目: | ||
以下に、エンキュー操作を行う関数の実装例を示す。<br> | 以下に、エンキュー操作を行う関数の実装例を示す。<br> | ||
headとtailは引数として受け取り、ポインタ渡しで返すようにしている。(値が更新されるのは、tailのみである)<br> | headとtailは引数として受け取り、ポインタ渡しで返すようにしている。(値が更新されるのは、tailのみである)<br> | ||
< | <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> | ||
< | <syntaxhighlight lang="c"> | ||
/* 配列からデキューする */ | /* 配列からデキューする */ | ||
/* @param[in,out] queue 配列 */ | /* @param[in,out] queue 配列 */ | ||
| 84行目: | 84行目: | ||
<br> | <br> | ||
上記で例に挙げた関数を使用して、配列を簡易的なキューとして使用する例を以下に示す。<br> | 上記で例に挙げた関数を使用して、配列を簡易的なキューとして使用する例を以下に示す。<br> | ||
< | <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> | ||
< | <syntaxhighlight lang="c"> | ||
/* 配列にプッシュする */ | /* 配列にプッシュする */ | ||
/* @param[in,out] stack 配列 */ | /* @param[in,out] stack 配列 */ | ||
| 216行目: | 216行目: | ||
PUSH操作が行われた時に上書き可能にするのがポイントである。<br> | PUSH操作が行われた時に上書き可能にするのがポイントである。<br> | ||
以下の例では、POP操作を行う関数の実装例を示す。<br> | 以下の例では、POP操作を行う関数の実装例を示す。<br> | ||
< | <syntaxhighlight lang="c"> | ||
/* 配列からポップする */ | /* 配列からポップする */ | ||
/* @param[in] stack 配列 */ | /* @param[in] stack 配列 */ | ||
| 235行目: | 235行目: | ||
<br> | <br> | ||
上記で例に挙げた関数を使用して、配列を簡易的なスタックとして使用する例を以下に示す。<br> | 上記で例に挙げた関数を使用して、配列を簡易的なスタックとして使用する例を以下に示す。<br> | ||
< | <syntaxhighlight lang="c"> | ||
#include <stdio.h> | #include <stdio.h> | ||
#include <stdlib.h> | #include <stdlib.h> | ||