vlambda博客
学习文章列表

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<<"&&&"; //ss break;        }           parent = root; //双亲节点指向根节点。 //根节点的值大于所要插入的值,要插入的值在根节点的左边。 if (root->data > x) root = root->left;              if (root->data < x)                root = root->right;   } cout<<"&&&&"; //ss if (root->data == x){  cout<<'^'; //ss continue;    }   BitNode *p = new BitNode; p->data = x; p->left = p->right = NULL;  if (parent == NULL) { cout<<'%'; //ss              tree = p;        } if (x < parent->data){ parent->left = p; cout<<'#'; //ss      }       if (x > parent->data) parent->right = p;  }
}