回覆列表
  • 1 # daazhu2

    int JudgeComplete(BiTree bt) //判斷二叉樹是否是完全二叉樹,如是,返回1,否則,返回0

    {int tag=0; BiTree p=bt, Q[]; // Q是佇列,元素是二叉樹結點指標,容量足夠大

    if(p==null) return (1);

    QueueInit(Q); QueueIn(Q,p); //初始化佇列,根結點指標入隊

    while (!QueueEmpty(Q))

    {p=QueueOut(Q); //出隊

    if (p->lchild && !tag) QueueIn(Q,p->lchild); //左子女入隊

    else {if (p->lchild) return 0; //前邊已有結點為空,本結點不空

    else tag=1; //首次出現結點為空

    if (p->rchild && !tag) QueueIn(Q,p->rchild); //右子女入隊

    else if (p->rchild) return 0; else tag=1;

    } //while

    return 1; } //JudgeComplete

  • 中秋節和大豐收的關聯?
  • 你聽過最暖的暖話是什麼?