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

asdfasdfasfasdfsadfsadfasdf,asdfasdfasdf

編輯:C++入門知識

asdfasdfasfasdfsadfsadfasdf,asdfasdfasdf


int LeavesCount(BiTree BT)
{
    //返回二叉樹BT中葉子結點的個數
    if(BT == NULL)
        return 0;   //BT為空樹,返回0

    int nCount = 0;
    if(!(BT->LChild || BT->RChild))
        ++nCount;   //BT為葉子結點,加1
    else
    {
        //累加上左子樹上的葉子結點
        nCount += LeavesCount(BT->LChild);
        //累加上右子樹上的葉子結點
        nCount += LeavesCount(BT->RChild);
    }
    return nCount;
}
//----------------------------------------------------------------------
int NotLeavesCount(BiTree BT)
{
    //返回二叉樹BT中非葉子結點的個數
    if(BT == NULL || (!(BT->LChild || BT->RChild)))
        return 0;   //若為BT為空樹或為葉子結點,返回0
    else
    {
        int nCount = 1; //此時根結點也是一個非葉子結點
        //累加上左子樹的非葉子結點個數
        nCount += NotLeavesCount(BT->LChild);
        //累加上右子樹的非葉子結點個數
        nCount += NotLeavesCount(BT->RChild);
        return nCount;
    }
}

  

int LeavesCount(BiTree BT)
{
    //返回二叉樹BT中葉子結點的個數
    if(BT == NULL)
        return 0;   //BT為空樹,返回0

    int nCount = 0;
    if(!(BT->LChild || BT->RChild))
        ++nCount;   //BT為葉子結點,加1
    else
    {
        //累加上左子樹上的葉子結點
        nCount += LeavesCount(BT->LChild);
        //累加上右子樹上的葉子結點
        nCount += LeavesCount(BT->RChild);
    }
    return nCount;
}
//----------------------------------------------------------------------
int NotLeavesCount(BiTree BT)
{
    //返回二叉樹BT中非葉子結點的個數
    if(BT == NULL || (!(BT->LChild || BT->RChild)))
        return 0;   //若為BT為空樹或為葉子結點,返回0
    else
    {
        int nCount = 1; //此時根結點也是一個非葉子結點
        //累加上左子樹的非葉子結點個數
        nCount += NotLeavesCount(BT->LChild);
        //累加上右子樹的非葉子結點個數
        nCount += NotLeavesCount(BT->RChild);
        return nCount;
    }
}

 

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