C/C++二叉树的创建与遍历

来源:互联网 发布:网络购物诈骗类型 编辑:程序博客网 时间:2024/05/21 23:00

在创建二叉树的时候,当节点为叶子节点,需要将叶子节点的两个子节点输入0,以0作为结束标识符。

1.建立二叉树的结构体

typedef struct tree* bintree;typedef bintree position;struct tree {int data;position lchild;position rchild;};

2.按照前序排序顺序建立二叉树

bintree creattree(){int ch;bintree t;cin >> ch;if (0 == ch){t = NULL;}else{t = (struct tree*)malloc(sizeof(struct tree));t->data = ch;t->lchild=creattree();t->rchild=creattree();}return t;}
3.按照前序和中序遍历二叉树

void pre_display(bintree head){if (head){cout << head->data << ' ';pre_display(head->lchild);pre_display(head->rchild);}}void inorder_display(bintree head){if (head){inorder_display(head->lchild);cout << head->data << ' ';inorder_display(head->rchild);}}

主函数:

int main(){bintree head;bintree p;head = NULL;p=creattree();pre_display(p);system("PAUSE");}



阅读全文
0 0