[ create a new paste ] login | about

Link: http://codepad.org/cC32SO7h    [ raw code | output | fork ]

C++, pasted on Feb 3:
#include <iostream.h>

struct tree_node
{
    struct tree_node *left;
    struct tree_node *right;
    int data;
};

struct tree_node * add_node(struct tree_node *root, int data);

int main ( void)
{
    struct tree_node root = {0, 0, 123};
    add_node(&root, 34);
    if (root.left) std::cout << "Added to the left\n";
    else std::cout << "Added to the right\n";
    if (root.left) delete root.left;
    else delete root.right;
    return 0;
}

struct tree_node * add_node(struct tree_node *root, int data)
{
    if (!root)
    {
        root = new tree_node();
        root->left = root->right = 0;
        root->data = data;
    }
    else if (root->data > data)
        root->left = add_node(root->left, data);
    else
        root->right = add_node(root->right, data);
    return root;
}


Output:
1
Added to the left


Create a new paste based on this one


Comments: