Day2 基础数据结构之二叉树(未完成)
二叉树是一种基础的非线性数据结构,难点在于二叉树的创建,代码如下(错误的!!!)
void CreatTree(BitTree tree){int num;cin>>num;for(int i=1;i<=num;i++){int x;cin>>x;BitNode *root = tree;BitNode *parent = NULL;while (root!=NULL){cout<<root->data; //ss//根节点不为空//如果值存在if (root->data == x){cout<<"&&&"; //ssbreak;}parent = root; //双亲节点指向根节点。//根节点的值大于所要插入的值,要插入的值在根节点的左边。if (root->data > x)root = root->left;if (root->data < x)root = root->right;}cout<<"&&&&"; //ssif (root->data == x){cout<<'^'; //sscontinue;}BitNode *p = new BitNode;p->data = x;p->left = p->right = NULL;if (parent == NULL){cout<<'%'; //sstree = p;}if (x < parent->data){parent->left = p;cout<<'#'; //ss}if (x > parent->data)parent->right = p;}}
