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的初始位置,可是位址的变化跟我想的不一样
请问该怎么写才能达到我的要求呢? 还有为什么我这样写纪录不起来...