評價: 0 回應: 0 閱覽: 62
置頂

二元搜索樹觀念問題

struct node{
        int data;
        node* lchild,*rchild;
};

void createBST()
{
        int item;
        node *head=NULL, *T=NULL;
        while(1){//問題一:這邊怎麼設置讓while跳出比較好?
                 //我是希望使用者輸入完一串數字後跳出ex:2 1 3 8 5
                 //用這些數字創建完一棵樹後跳出

                T = head;//問題二:為了紀錄頭結點
                scanf_s("%d",&item);
                while(1){
                        if(!T){
                                T = (node*)malloc(sizeof(node));
                                T->data = item;
                                T->lchild = NULL;
                                T->rchild = NULL;
                                break;
                        }

                        if(item<T->data)
                        T = T->lchild;

                        else if(item>T->data)
                        T = T->rchild;
                        }
        }
}

請問要怎麼讓scanf把東西讀完後讓while測到呢?

我查到的都是EOF,但不能用在這

會員登入 (先登入會員才能回覆留言喔!)

Facebook留言