アルゴリズムとデータ構造試験問題

提出用プロジェクトを作成する。
プロジェクト名は「s16171xx_名前」とする。

0.準備
プロジェクトを作成し、C言語で使用するための設定を行う。

参考:Visual Studio 2012 でC言語を使うための設定

1.メニューを表示するプログラムを作成する。
メニューは0~4の数字で入力する。
0で終了する。

参考:再起呼び出し

(1)階乗 (2)ハノイの塔 (3)ハッシュテーブル (4)リンクリスト (0)終了 : 1
(1)階乗 (2)ハノイの塔 (3)ハッシュテーブル (4)リンクリスト (0)終了 : 2
(1)階乗 (2)ハノイの塔 (3)ハッシュテーブル (4)リンクリスト (0)終了 : 3
(1)階乗 (2)ハノイの塔 (3)ハッシュテーブル (4)リンクリスト (0)終了 : 4
(1)階乗 (2)ハノイの塔 (3)ハッシュテーブル (4)リンクリスト (0)終了 : 0
続行するには何かキーを押してください . . .

2.メニューで1が指定されたら階乗を表示するプログラムが動作するようにする。

参考:再起呼び出し

(1)階乗 (2)ハノイの塔 (3)ハッシュテーブル (4)リンクリスト (0)終了 : 1
整数を入力せよ:3
3の階乗は6です。
(1)階乗 (2)ハノイの塔 (3)ハッシュテーブル (4)リンクリスト (0)終了 : 1
整数を入力せよ:4
4の階乗は24です。
(1)階乗 (2)ハノイの塔 (3)ハッシュテーブル (4)リンクリスト (0)終了 : 0
続行するには何かキーを押してください . . .

3.メニューで2が指定されたらハノイの塔のプログラムが動作するようにする。

参考:再起呼び出し

(1)階乗 (2)ハノイの塔 (3)ハッシュテーブル (4)リンクリスト (0)終了 : 2
ハノイの塔
円盤の枚数: 2
円盤[1]をA軸からB軸へ移動
円盤[2]をA軸からC軸へ移動
円盤[1]をB軸からC軸へ移動
(1)階乗 (2)ハノイの塔 (3)ハッシュテーブル (4)リンクリスト (0)終了 : 2
ハノイの塔
円盤の枚数: 3
円盤[1]をA軸からC軸へ移動
円盤[2]をA軸からB軸へ移動
円盤[1]をC軸からB軸へ移動
円盤[3]をA軸からC軸へ移動
円盤[1]をB軸からA軸へ移動
円盤[2]をB軸からC軸へ移動
円盤[1]をA軸からC軸へ移動
(1)階乗 (2)ハノイの塔 (3)ハッシュテーブル (4)リンクリスト (0)終了 : 0
続行するには何かキーを押してください . . .

4.メニューで3が指定されたらハッシュテーブルのプログラムが動作するようにする。

参考:ハッシュ法

(1)階乗 (2)ハノイの塔 (3)ハッシュテーブル (4)リンクリスト (0)終了 : 3
(1)追加 (2)削除 (3)探索 (4)全削除 (5)ダンプ (0)終了: 1
追加するデータを入力してください。
番号:1
氏名:aaa
(1)追加 (2)削除 (3)探索 (4)全削除 (5)ダンプ (0)終了: 1
追加するデータを入力してください。
番号:2
氏名:bbb
(1)追加 (2)削除 (3)探索 (4)全削除 (5)ダンプ (0)終了: 1
追加するデータを入力してください。
番号:14
氏名:ccc
(1)追加 (2)削除 (3)探索 (4)全削除 (5)ダンプ (0)終了: 5
00
01  → 14 (ccc) → 1 (aaa)
02  → 2 (bbb)
03
04
05
06
07
08
09
10
11
12
(1)追加 (2)削除 (3)探索 (4)全削除 (5)ダンプ (0)終了: 3
探索するデータを入力してください。
番号:1
探索に成功しました。
1 aaa
(1)追加 (2)削除 (3)探索 (4)全削除 (5)ダンプ (0)終了: 0
(1)階乗 (2)ハノイの塔 (3)ハッシュテーブル (4)リンクリスト (0)終了 : 0

5.メニューで4が指定されたら作成したリンクリストが動作するようにする。

参考:線形リスト

(1)階乗 (2)ハノイの塔 (3)ハッシュテーブル (4)リンクリスト (0)終了 : 4
( 1) 先頭にノードを挿入  ( 2) 末尾にノードを挿入  ( 3) 先頭のノードを削除
( 4) 末尾のノードを削除  ( 5) 着目ノードを表示    ( 6) 着目ノードを削除
( 7) 番号で探索          ( 8) 氏名で探索          ( 9) 全ノードを表示
(10) 全ノードを削除      ( 0) 終了 :1
先頭に挿入するデータを入力してください。
番号:1
氏名:aaa
( 1) 先頭にノードを挿入  ( 2) 末尾にノードを挿入  ( 3) 先頭のノードを削除
( 4) 末尾のノードを削除  ( 5) 着目ノードを表示    ( 6) 着目ノードを削除
( 7) 番号で探索          ( 8) 氏名で探索          ( 9) 全ノードを表示
(10) 全ノードを削除      ( 0) 終了 :2
末尾に挿入するデータを入力してください。
番号:2
氏名:bbb
( 1) 先頭にノードを挿入  ( 2) 末尾にノードを挿入  ( 3) 先頭のノードを削除
( 4) 末尾のノードを削除  ( 5) 着目ノードを表示    ( 6) 着目ノードを削除
( 7) 番号で探索          ( 8) 氏名で探索          ( 9) 全ノードを表示
(10) 全ノードを削除      ( 0) 終了 :2
末尾に挿入するデータを入力してください。
番号:3
氏名:ccc
( 1) 先頭にノードを挿入  ( 2) 末尾にノードを挿入  ( 3) 先頭のノードを削除
( 4) 末尾のノードを削除  ( 5) 着目ノードを表示    ( 6) 着目ノードを削除
( 7) 番号で探索          ( 8) 氏名で探索          ( 9) 全ノードを表示
(10) 全ノードを削除      ( 0) 終了 :9
1 aaa
2 bbb
3 ccc
( 1) 先頭にノードを挿入  ( 2) 末尾にノードを挿入  ( 3) 先頭のノードを削除
( 4) 末尾のノードを削除  ( 5) 着目ノードを表示    ( 6) 着目ノードを削除
( 7) 番号で探索          ( 8) 氏名で探索          ( 9) 全ノードを表示
(10) 全ノードを削除      ( 0) 終了 :7
探索するデータを入力してください。
番号:2
2 bbb
( 1) 先頭にノードを挿入  ( 2) 末尾にノードを挿入  ( 3) 先頭のノードを削除
( 4) 末尾のノードを削除  ( 5) 着目ノードを表示    ( 6) 着目ノードを削除
( 7) 番号で探索          ( 8) 氏名で探索          ( 9) 全ノードを表示
(10) 全ノードを削除      ( 0) 終了 :8
探索するデータを入力してください。
氏名:ccc
3 ccc
( 1) 先頭にノードを挿入  ( 2) 末尾にノードを挿入  ( 3) 先頭のノードを削除
( 4) 末尾のノードを削除  ( 5) 着目ノードを表示    ( 6) 着目ノードを削除
( 7) 番号で探索          ( 8) 氏名で探索          ( 9) 全ノードを表示
(10) 全ノードを削除      ( 0) 終了 :6
( 1) 先頭にノードを挿入  ( 2) 末尾にノードを挿入  ( 3) 先頭のノードを削除
( 4) 末尾のノードを削除  ( 5) 着目ノードを表示    ( 6) 着目ノードを削除
( 7) 番号で探索          ( 8) 氏名で探索          ( 9) 全ノードを表示
(10) 全ノードを削除      ( 0) 終了 :9
1 aaa
2 bbb
( 1) 先頭にノードを挿入  ( 2) 末尾にノードを挿入  ( 3) 先頭のノードを削除
( 4) 末尾のノードを削除  ( 5) 着目ノードを表示    ( 6) 着目ノードを削除
( 7) 番号で探索          ( 8) 氏名で探索          ( 9) 全ノードを表示
(10) 全ノードを削除      ( 0) 終了 :0
(1)階乗 (2)ハノイの塔 (3)ハッシュテーブル (4)リンクリスト (0)終了 : 0
続行するには何かキーを押してください . . .

提出は、提出用フォルダ(X:\提出フォルダ\2016\提出\アルゴリズム試験解答)にプロジェクトをそのままコピーする。