я продолжаю получать ошибки сегментации (дамп ядра) из следующих строк:ошибки сегментации симметричного обхода
void inOrder(){
if(this->isNull())
return ;
this->left->inOrder();
cout<<this->key<<' ';
this->right->inOrder();
}
для того же входа иногда эта функция показывает, что, как предполагается, но в большинстве случаев просто выдаёт ошибку сегментации. им вполне уверен, что его функция не из-за IsNull():
bool isNull(){
return this->null;
}
где нуль является частным BOOL инициализируется истинными pseudoconstructor весь код можно посмотреть здесь: http://pastebin.com/RiiwqY3K Спасибо :).
Если левое или правое значение равно нулю, то 'left-> inOrder()' или 'right-> inOrder()' приведет к его – DBug
Что происходит, если 'left' или' right' '' NULL'? Затем вы разыскиваете нулевой указатель. –
Если вы прокомментируете звонок баланса в своей вкладке, это поможет? Я думаю, что есть некоторая проблема с функцией rotateLeft и rotateRight. Не уверен, что это. Кроме того, я не понимаю, зачем передавать дерево, чтобы rotateRight, если не использовать его. – shengy