C言語で二分木を作る方法は何ですか?

C言語では、構造体を使用して二分木のノードを表すことができ、再帰的な方法で二分木を作成することができます。具体的な方法は、以下の通りです。

  1. 最初に、二分木ノードの構造体を定義します。
typedef struct Node {
    int data;
    struct Node* left;
    struct Node* right;
} Node;
  1. 二分木のノードを再帰的に構築する関数を作成してください。
Node* createNode(int data) {
    Node* newNode = (Node*)malloc(sizeof(Node));
    newNode->data = data;
    newNode->left = NULL;
    newNode->right = NULL;
    return newNode;
}
  1. 二分木を構築するための関数を作成してください。
Node* createBinaryTree() {
    Node* root = createNode(1);
    root->left = createNode(2);
    root->right = createNode(3);
    root->left->left = createNode(4);
    root->left->right = createNode(5);
    root->right->left = createNode(6);
    root->right->right = createNode(7);
    return root;
}
  1. 上記のコードを変更して、異なるバイナリツリーを構築することができます。 バイナリツリーを作成した後、ツリーを処理するために走査などの操作を行うことができます。
bannerAds