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,但不能用在這
問題二:我做了一個頭結點想要紀錄T的初始位置,可是位址的變化跟我想的不一樣
請問該怎麼寫才能達到我的要求呢? 還有為什麼我這樣寫紀錄不起來...