我在C atm的二叉搜索樹上工作,工作良好,節點被插入,找到,打印等。但是,它們的值不正確。我的樹中的每個節點都有一個電話號碼(電話)和一個名字(名字)。電話號碼不是問題,而是名稱。例如,如果我的根與數字1和名稱應該是「邁克」,它說數字= 1和名稱= 1如何向節點添加名稱? (Binary Tree,C)
相同的每隔一個節點。數=名稱。爲什麼?我想這與值是一個字符串而不是一個整數有關,對吧?我代碼中的重要部分如下:
void bst_insert_node(bstree* bst, unsigned long phone, char *name) {
bst_node* tmp=bst->root;
bst_node* tmp2;
bst_node* new_node=(bst_node*)malloc(sizeof(bst_node));
new_node->phone=phone;
new_node->name=name; // THIS LINE
new_node->left=new_node->right=NULL;
我需要改變什麼?我現在嘗試了幾件事,但沒有任何工作..
歡迎來到Stack Overflow! [請參閱此討論,爲什麼不在'C'中投射'malloc()'和family的返回值。](http://stackoverflow.com/q/605845/2173917)。 –
歡迎來到Stack Overflow!您介意創建[___MCVE___](http://stackoverflow.com/help/mcve)? –
Thx爲鏈接!不知道。我的發佈代碼是不夠的?我能做些什麼更好?我其實認爲這是正確的方式.. – ykykyk