[13a2] トライの実装2

Trie(トライ)とは、文字列を鍵とする表に使われる手法である。 数字「0」〜「9」のみから成る文字列に対応して十分木としてデータ 構造を構成し、根から1文字ずつその文字に対応する枝をたどって行き (節が無ければ割り当て、「0」〜「9」以外の文字があったらそこで中 止)、文字列が終った位置に値を登録する(値が登録されていないとき は-1を入れることにし、検索時に見付からないときも-1を返す)。

トライを使った表のAPIを次のように定めた。

// trie.h
struct trien;
typedef struct trie *triep;
triep trie_new();
void trie_put(triep p, char *s, int v);
int trie_get(triep p, char *s);

また、この実装の冒頭部分を次のように作成した。根のノードは空 文字列に対応していて最初に作るので、トライによる表は構造体が1種 類で済む。なお、文字「0」の文字コードは48でありかつ各数字の文字 コードは連続しているとしてよい。

#define SIZE 10
struct trie { int val; triep chid[SIZE]; };

上記2行を含む実装を完成させよ(includeに続いて上の2行を置くこと)。