全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:3929
推到 Plurk!
推到 Facebook!

C++的二元樹問題...

尚未結案
kingofwind
一般會員


發表:2
回覆:3
積分:1
註冊:2005-04-21

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-05-20 01:39:13 IP:218.172.xxx.xxx 未訂閱
各位大大幫我看一下程式...    
    /*     用陣列建立二元樹   */
#include
#include    struct tree                                       /*宣告數的結構*/
{
        int left;                                     /*存放左子樹位置*/
        int data;                                     /*存放資料*/
        int right;                                    /*存放右子樹*/
};    typedef struct tree treenode;                     /*宣告樹的節點*/
treenode b_tree[15];                              /*宣告二元樹陣列個數*/    /*    建立二元樹     */    void create_btree(int *b_tree, int *nodelist, int len)
{
        int i;
        int level;                                    /*樹的階層*/
        int position;                                     b_tree[0].data=nodelist[0];                       /*根節點*/    for(i=1; i b_tree[level].data)      /*判斷左子樹或右子樹*/
                  if(b_tree[level].right !=-1)            /*右樹是否有下一層*/
                        level=b_tree[level].right;
                  else
                        position=-1;                          /*設定為右樹*/
                else
                        if(b_tree[level].left !=-1)           /*左樹是否有下一層*/
                                level=b_tree[level].left;
                        else
                                position=1;                       /*設定為左樹*/
        }
        if(position==1)                               /*建立節點的左右連結*/
                b_tree[level].left=i;                     /*連結左子樹*/
        else
                b_tree[level].right=i;                    /*連結右子樹*/
}
}    void main()
{
        int i, index;
        int data;                                     /*讀入輸入值所使用的暫存變數*/
        int nodelist[16];                             /*宣告儲存輸入資料陣列*/
        printf("\n Please input the elements of binary tree(Exit for 0): \n");
        index=1;    /*-------------讀取數值存到陣列中---------------*/
    scanf("%d", &data);                           /*讀取輸入值存到變數data*/
        while(data !=0)
        {
                nodelist[index]=data;
                index=index 1;
                scanf("%d",&data);
        }
        /*----------------------清除陣列的內容--------------*/
        for(i=0; i<15; i  )
        {
                b_tree[i].data=0;
                b_tree[i].left=-1;
                b_tree[i].right=-1;
        }            /*---------------------建立二元樹-------------------*/
        create_btree(nodelist, index);            /*---------------------印出二元樹內容---------------*/
        printf("\n The binary tree content: \n");
        printf("         left     data     rignt     \n");
        printf("========================================\n");
        for(i=1; i<15; i  )
                printf("-:  [-]  [-]  [-]  \n"  ,i,  b_tree[i], left, b_ree[i].data, b_tree[i].right);
}        
kingofwind
一般會員


發表:2
回覆:3
積分:1
註冊:2005-04-21

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-05-20 01:41:44 IP:218.172.xxx.xxx 未訂閱
抱歉沒打出來..宣告是 #include 〈iostream.h〉 #include 〈stdlib.h〉 發表人 - kingofwind 於 2005/05/20 01:45:28
ddy
站務副站長


發表:262
回覆:2105
積分:1169
註冊:2002-07-13

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-05-20 09:44:19 IP:61.70.xxx.xxx 未訂閱
問題請描述清楚     ABSee數位相機族群的專業網站,免費1G 網路相簿 http://absee.com.tw/law.asp?uRef=15360
kingofwind
一般會員


發表:2
回覆:3
積分:1
註冊:2005-04-21

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-05-21 01:07:35 IP:218.172.xxx.xxx 未訂閱
用矩陣寫出二元樹搜尋... 我寫的不知道錯在哪裡.請幫我解一下...
系統時間:2024-05-06 12:08:03
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!