wvogel日記

自分用の技術備忘録が多めです.

ttp://akita-nct.jp/yamamoto/lecture/2005/2E/26th/html/node2.html
このサイトを参考に木の導入を書いてみた。C言語
これは二分木、ですね。
まあ枝はいくらでも増やせるからそれは気にしない。


ノベルゲームの、選択肢による分岐を実現する方法に、木があるじゃん!
と、最近やっと気付いたので勉強しようと思って。
でもよく考えたら単純に木を使うだけじゃだめだな、っていう。
無意識にハード的に埋め込む方針で考えてしまっていた。汎用性がない...
やっぱりテキストファイルとかで利用者が分岐構成をわかりやすく記述できるようにしないと。
うーん。単純に
int save
とか宣言して数字で管理した方がいいんだろうか....


今のところは分岐は必要なさそうだが

#include<stdio.h>
#include<stdlib.h>

typedef struct tree{
    int value;
    struct tree *left,*right;
}tree_t;

tree_t *root = NULL;

tree_t* create(int num){
    tree_t *new_tree;

    if((new_tree = (tree_t*)malloc(sizeof(tree_t)))==NULL)
        exit(1);
    new_tree->value = num ;
    new_tree-> left = new_tree->right = NULL;

    return new_tree;
}

int main(){
    tree_t *tree;

    tree = create(3);

    printf("%d\n",tree->value);

    tree->left = create(5);
    tree->right= root;
    printf("left==%d\n",tree->left->value);

    return 0;
}