程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 九度教程第35題

九度教程第35題

編輯:C++入門知識

C語言源碼:   [cpp]  #include<stdio.h>   #include<stdlib.h>   #include<limits.h>   typedef struct BiTree   {       int data;       struct BiTree *lchild,*rchild;   }BiTree;   BiTree *create(BiTree *t,int n)   {       BiTree *p,*q;       p=(BiTree *)malloc(sizeof(BiTree));       p->data=n;       p->lchild=NULL;       p->rchild=NULL;       if(!t)           t=p;       else       {           q=t;           while((n<q->data&&q->lchild)||(n>q->data&&q->rchild))           {               if(n<=q->data)                   q=q->lchild;               else                   q=q->rchild;           }           if(n<q->data)                   q->lchild=p;               else                   if(n>q->data)                       q->rchild=p;       }       return t;   }   void Pre(BiTree *t)   {       if(t)       {           printf("%d ",t->data);           Pre(t->lchild);           Pre(t->rchild);       }   }   void Mid(BiTree *t)   {       if(t)       {           Mid(t->lchild);           printf("%d ",t->data);           Mid(t->rchild);       }   }   void Post(BiTree *t)   {       if(t)       {           Post(t->lchild);           Post(t->rchild);           printf("%d ",t->data);       }   }   int main()   {       int n,i,x;       BiTree *T;       while(scanf("%d",&n)!=EOF)       {           T=NULL;           for(i=1;i<=n;i++)           {               scanf("%d",&x);               T=create(T,x);           }           Pre(T);           printf("\n");           Mid(T);           printf("\n");           Post(T);           printf("\n");       }   }    

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved