我試圖實現bintree,但我在插入方法有問題。 如果我添加第一個元素,程序不會崩潰,但是當我引入2個或更多元素時,程序崩潰。分割故障bintree
這是代碼
template <typename T>
void Arbol<T>:: insertar(T c){
if(laraiz==0)
{
laraiz=new celdaArbol;
laraiz->elemento=c;
laraiz->padre=laraiz->hizqu=laraiz->hder=0;
}
else {
celdaArbol *com=laraiz;
bool poner=false;
while(poner==false){
if(c>com->elemento){
if(com->hder==0){
com->hder= new celdaArbol;
com->hder->elemento=c;
com->hder->padre=com;
poner=true;
}
else{
com=com->hder;
}
}
else {
if(com->hizqu==0){
com->hizqu= new celdaArbol;
com->hizqu->elemento=c;
com->hizqu->padre=com;
poner=true;
}
else {
com=com->hizqu;
}
}
}
}
}
我認爲這個問題是在else:
else{
com=com->hizqu; //com=com->hder;
}
因爲我在節目中的部分輸入幾次不應該的調試器看到做。
我認爲這將是非常有益的多用英語變量,不管你講不同的語言鍵入的名字......這樣一來有效地阻止你的人誰不說你的語言(西班牙語?)甚至可以查看代碼。閱讀c + +是非常困難的,如果這種困難被不同的語言所接受,它可以是非常......你知道...... – fritzone 2014-08-27 18:51:54
爲什麼所有其他的?使用退貨並繼續使代碼更清潔。 – scohe001 2014-08-27 18:56:49
謝謝你fritzone。將來我會用英語寫一切。 – dasavi 2014-08-28 09:27:36