正在加载图片...
14.一又树的建立(1)按层序历序为入顺序 whil(font<=rear)/只要队列不空 {t=q[font;font++;/出队一结点指针 scanf(%d", &value) if( value==0)t->lchild==NULL it>Child=(TREENODEPTR)malloc(sizeof(TREENODE)): t->lchild->data=value ∥建立左孩子结点 rear+;q[rear]-t-) Child;∥左孩子入队 scanf(%od", &value) if(value==0)t>rchild=NULL it >rchild=(TREENODEPTR)malloc(sizeof(TREENODE) t->rchild->data=value ∥建立左孩子结点 rear++;q[rear}=t> rchild;∥左孩子入队 i//while11 #define N 50 //定义二叉树最大结点数 void createtree(BTREE *root) {int value,front,rear; TREENODEPTR t,q[N]; //q是队列,front,rear是队头队尾下标。 scanf("%d",&value); //开始创建根结点 if(value==0){*root=NULL; return;}; //输入0,表示空结点 *root=(TREENODEPTR)malloc(sizeof(TREENODE)); (*root)→data=value; rear=front=1; q[front]=*root; //根指针入队 二叉树(cont’d) 4. 二叉树的建立 (1) 按层序遍历顺序为输入顺序 while(front<=rear) //只要队列不空 { t=q[front]; front++; //出队一结点指针 scanf("%d",&value); if(value==0) t→lchild=NULL; else {t→lchild=(TREENODEPTR)malloc(sizeof(TREENODE)); t→lchild→data=value; //建立左孩子结点 rear++; q[rear]=t→lchild; //左孩子入队 } scanf("%d",&value); if(value==0) t→rchild=NULL; else {t→rchild=(TREENODEPTR)malloc(sizeof(TREENODE)); t→rchild→data=value; //建立左孩子结点 rear++; q[rear]=t→rchild; //左孩子入队 } }//while } 5 3 4 7 9
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有