2023年度「アルゴリズムとデータ構造」のページ

練習問題

2024年1月22日出題

  1. 整数を値とする単方向リストを表す構造体 struct slist とそのセルを表す構造体 struct cell はファイル slist.h 内で以下の通り定義されているとする。

    struct slist {
            struct cell     *first; /* 最初のセルを指すポインタ */
    };
    
    struct cell {
            struct cell     *next; /* 次のセルを指すポインタ */
            long    value;  /* 整数値 */
    };
    

    ポインタlistが単方向リストを指し引数として与えられて、以下のそれぞれの条件の要素を持つセルを指すポインタを返すCの関数を書け。ただし、条件をみたす要素が存在しない場合はNULLを返すこと。

    1. 最初に出現する素数

      struct cell *find_first_prime(struct slist *list);

      テスト用main関数の

    2. 最後に出現する素数

      struct cell *find_last_prime(struct slist *list);
    3. 最大値。ただし、複数の要素で最大値をとる場合は最初のもの

      struct cell *find_first_max(struct slist *list);

      テスト用main関数の

    4. 最大値。ただし、複数の要素で最大値をとる場合は最後のもの

      struct cell *find_last_max(struct slist *list);
    5. 最大の素数。ただし、複数の要素が最大の素数の値をとる場合は最初のもの

      struct cell *find_first_max_prime(struct slist *list);
    6. 最大の素数。ただし、複数の要素が最大の素数の値をとる場合は最後のもの

      struct cell *find_last_max_prime(struct slist *list);
戻る

奈良女子大学生活環境学部文化情報学科生活情報通信科学コース