小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

C語言按層次遍歷二叉樹算法

 心不留意外塵 2016-04-28
http://www./code/view/1435718651091
2015.07
#define MaxSize 1000
typedef char ElemType;
typedef struct node
{
    ElemType data;
    struct node *lchild;
    struct node *rchild;
} BTNode;
//創(chuàng)建二叉樹
void CreateBTNode(BTNode *&b,char *str)
{
    BTNode *St[MaxSize],*p=NULL;
    int top=-1,k,j=0;
    char ch;
    b=NULL;
    ch=str[j];
    while(ch!='\0')
    {
        switch(ch)
        {
        case '(':top++;St[top]=p;k=1;break;
        case ')':top--;break;
        case ',':k=2;break;
        default:p=(BTNode *)malloc(sizeof(BTNode));
            p->data=ch;p->lchild=p->rchild=NULL;
            if(b==NULL) b=p;
            else
            {
                switch(k)
                {
                case 1:St[top]->lchild=p;break;
                case 2:St[top]->rchild=p;break;
                }   
            }   
        }   
        j++;
        ch=str[j];
    }   
}
//層次遍歷算法
void LevelOrder(BTNode *b)
{
    BTNode *p;
    BTNode *qu[MaxSize];
    int front,rear;
    front=rear=-1;
    rear++;
    qu[rear]=b;
    while(front != rear)
    {
        front=(front+1)%MaxSize;
        p=qu[front];
        printf("%c ",p->data);
 
        if(p->lchild!=NULL)
        {
            rear=(rear+1)%MaxSize;
            qu[rear]=p->lchild;
        }
 
        if(p->rchild!=NULL)
        {
            rear=(rear+1)%MaxSize;
            qu[rear]=p->rchild;
        }
    }
}
 
//主函數(shù)
int main()
{
    BTNode *b,*h;
    char s[MaxSize] = "A(B(D(,G)),C(E,F))";
 
    CreateBTNode(b,s);
    printf("層次遍歷算法的訪問次序?yàn)椋?);
    LevelOrder(b);
    printf("\n請輸入二叉樹括號表示法字符串:\n");
    return 0;
} 
 

    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多