0

C言語(!C++)で反復的および再帰的にツリーデータ構造を構築する良い例はありますか? また、ツリーをトラバースしてすべてのノードをカバーする..

私はこの構造体を使用する可能性があります:

typedef struct treeNode *treeLink;
struct treeNode {
    Item item;
    treeLink left, right;
};
4

1 に答える 1

1
treeLink Traverse_In_Order(treeLink  current){
          if(curernt == NULL) return NULL;
          Traverse(current->left);
          operation(current->item);
          Traverse(current->right);
          return current; // in case you want to do something on this node
}


treeLink Traverse_Pre_Order(treeLink  current){
          if(curernt == NULL) return NULL;
          operation(current->item);
          Traverse(current->left);        
          Traverse(current->right);
          return current; // in case you want to do something on this node
}

treeLink Traverse_Pos_Order(treeLink  current){
          if(curernt == NULL) return NULL;
          Traverse(current->left);        
          Traverse(current->right);
          operation(current->item);
          return current; // in case you want to do something on this node
}
于 2012-08-13T02:10:50.700 に答える