整数を値とする単方向リストを表す構造体 struct slist
とそのセルを表す構造体 struct cell
はファイル slist.h 内で以下の通り定義されているとする。
struct slist { struct cell *first; /* 最初のセルを指すポインタ */ }; struct cell { struct cell *next; /* 次のセルを指すポインタ */ long value; /* 整数値 */ };
ポインタlist
が単方向リストを指し引数として与えられて、以下のそれぞれの条件の要素を持つセルを指すポインタを返すCの関数を書け。ただし、条件をみたす要素が存在しない場合はNULL
を返すこと。
最初に出現する素数
struct cell *find_first_prime(struct slist *list);
テスト用main関数の例
最後に出現する素数
struct cell *find_last_prime(struct slist *list);
最大値。ただし、複数の要素で最大値をとる場合は最初のもの
struct cell *find_first_max(struct slist *list);
テスト用main関数の例
最大値。ただし、複数の要素で最大値をとる場合は最後のもの
struct cell *find_last_max(struct slist *list);
最大の素数。ただし、複数の要素が最大の素数の値をとる場合は最初のもの
struct cell *find_first_max_prime(struct slist *list);
最大の素数。ただし、複数の要素が最大の素数の値をとる場合は最後のもの
struct cell *find_last_max_prime(struct slist *list);